HTMLImageElement.h 920 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <LibDraw/GraphicsBitmap.h>
  3. #include <LibDraw/ImageDecoder.h>
  4. #include <LibHTML/DOM/HTMLElement.h>
  5. class HTMLImageElement : public HTMLElement {
  6. public:
  7. HTMLImageElement(Document&, const String& tag_name);
  8. virtual ~HTMLImageElement() override;
  9. virtual void parse_attribute(const String& name, const String& value) override;
  10. String alt() const { return attribute("alt"); }
  11. String src() const { return attribute("src"); }
  12. int preferred_width() const;
  13. int preferred_height() const;
  14. const GraphicsBitmap* bitmap() const;
  15. const ImageDecoder* image_loader() const { return m_image_loader; }
  16. private:
  17. void load_image(const String& src);
  18. virtual RefPtr<LayoutNode> create_layout_node(const StyleProperties* parent_style) const override;
  19. RefPtr<ImageDecoder> m_image_loader;
  20. mutable RefPtr<GraphicsBitmap> m_bitmap;
  21. ByteBuffer m_image_data;
  22. };