Frame.h 631 B

12345678910111213141516171819202122232425262728293031
  1. #pragma once
  2. #include <AK/Noncopyable.h>
  3. #include <AK/RefPtr.h>
  4. #include <AK/Weakable.h>
  5. #include <LibDraw/Size.h>
  6. #include <LibHTML/TreeNode.h>
  7. class Document;
  8. class Frame
  9. : public TreeNode<Frame>
  10. , public Weakable<Frame> {
  11. public:
  12. static NonnullRefPtr<Frame> create() { return adopt(*new Frame); }
  13. ~Frame();
  14. const Document* document() const { return m_document; }
  15. Document* document() { return m_document; }
  16. void set_document(Document*);
  17. const Size& size() const { return m_size; }
  18. void set_size(const Size&);
  19. private:
  20. Frame();
  21. RefPtr<Document> m_document;
  22. Size m_size;
  23. };