HtmlView.h 836 B

12345678910111213141516171819202122232425262728293031
  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. Function<void(const String&)> on_link_click;
  12. Function<void(const String&)> on_title_change;
  13. protected:
  14. HtmlView(GWidget* parent = nullptr);
  15. virtual void resize_event(GResizeEvent&) override;
  16. virtual void paint_event(GPaintEvent&) override;
  17. virtual void mousemove_event(GMouseEvent&) override;
  18. virtual void mousedown_event(GMouseEvent&) override;
  19. private:
  20. void layout_and_sync_size();
  21. RefPtr<Document> m_document;
  22. RefPtr<LayoutNode> m_layout_root;
  23. };