123456789101112131415161718192021222324252627282930 |
- #pragma once
- #include <LibDraw/GraphicsBitmap.h>
- #include <LibDraw/ImageDecoder.h>
- #include <LibHTML/DOM/HTMLElement.h>
- class HTMLImageElement : public HTMLElement {
- public:
- HTMLImageElement(Document&, const String& tag_name);
- virtual ~HTMLImageElement() override;
- virtual void parse_attribute(const String& name, const String& value) override;
- String alt() const { return attribute("alt"); }
- String src() const { return attribute("src"); }
- int preferred_width() const;
- int preferred_height() const;
- const GraphicsBitmap* bitmap() const;
- const ImageDecoder* image_loader() const { return m_image_loader; }
- private:
- void load_image(const String& src);
- virtual RefPtr<LayoutNode> create_layout_node(const StyleProperties* parent_style) const override;
- RefPtr<ImageDecoder> m_image_loader;
- mutable RefPtr<GraphicsBitmap> m_bitmap;
- ByteBuffer m_image_data;
- };
|