LayoutWidget.h 685 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <LibHTML/Layout/LayoutReplaced.h>
  3. class GWidget;
  4. class LayoutWidget : public LayoutReplaced {
  5. public:
  6. LayoutWidget(const Element&, GWidget&);
  7. virtual ~LayoutWidget() override;
  8. virtual void layout() override;
  9. virtual void render(RenderingContext&) override;
  10. GWidget& widget() { return m_widget; }
  11. const GWidget& widget() const { return m_widget; }
  12. virtual bool is_widget() const final { return true; }
  13. private:
  14. virtual const char* class_name() const override { return "LayoutWidget"; }
  15. NonnullRefPtr<GWidget> m_widget;
  16. };
  17. template<>
  18. inline bool is<LayoutWidget>(const LayoutNode& node)
  19. {
  20. return node.is_widget();
  21. }