LayoutImage.h 779 B

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