PNGLoader.h 643 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include <LibDraw/GraphicsBitmap.h>
  3. #include <LibDraw/ImageDecoder.h>
  4. RefPtr<GraphicsBitmap> load_png(const StringView& path);
  5. RefPtr<GraphicsBitmap> load_png_from_memory(const u8*, size_t);
  6. struct PNGLoadingContext;
  7. class PNGImageDecoderPlugin final : public ImageDecoderPlugin {
  8. public:
  9. virtual ~PNGImageDecoderPlugin() override;
  10. PNGImageDecoderPlugin(const u8*, size_t);
  11. virtual Size size() override;
  12. virtual RefPtr<GraphicsBitmap> bitmap() override;
  13. virtual void set_volatile() override;
  14. [[nodiscard]] virtual bool set_nonvolatile() override;
  15. private:
  16. OwnPtr<PNGLoadingContext> m_context;
  17. };