summaryrefslogtreecommitdiff
path: root/Libraries/LibHTML/Frame.h
blob: 4915ebe0f743b31d6d1b6908b7c5b520e1d125ef (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once

#include <AK/Noncopyable.h>
#include <AK/RefPtr.h>
#include <AK/Weakable.h>
#include <LibDraw/Size.h>
#include <LibHTML/TreeNode.h>

class Document;

class Frame
    : public TreeNode<Frame>
    , public Weakable<Frame> {
public:
    static NonnullRefPtr<Frame> create() { return adopt(*new Frame); }
    ~Frame();

    const Document* document() const { return m_document; }
    Document* document() { return m_document; }

    void set_document(Document*);

    const Size& size() const { return m_size; }
    void set_size(const Size&);

private:
    Frame();

    RefPtr<Document> m_document;
    Size m_size;
};