HtmlView.h 678 B

123456789101112131415161718192021222324252627
  1. #pragma once
  2. #include <LibGUI/GScrollableWidget.h>
  3. #include <LibHTML/DOM/Document.h>
  4. class HtmlView : public GScrollableWidget {
  5. C_OBJECT(HtmlView)
  6. public:
  7. virtual ~HtmlView() override {}
  8. Document* document() { return m_document; }
  9. const Document* document() const { return m_document; }
  10. void set_document(Document*);
  11. protected:
  12. HtmlView(GWidget* parent = nullptr);
  13. virtual void resize_event(GResizeEvent&) override;
  14. virtual void paint_event(GPaintEvent&) override;
  15. virtual void mousemove_event(GMouseEvent&) override;
  16. private:
  17. void layout_and_sync_size();
  18. RefPtr<Document> m_document;
  19. RefPtr<LayoutNode> m_layout_root;
  20. };