diff options
author | Lucas CHOLLET <lucas.chollet@free.fr> | 2023-03-21 14:58:06 -0400 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2023-03-21 22:39:25 +0100 |
commit | 496b7ffb2b58043a80d90b8b8f44cab1eaa874e8 (patch) | |
tree | 1fca47aa8123c9d3e110d45c8af637f95241dcd5 /Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h | |
parent | 752f06f228119a70c59e844dcd2b9560e757b0ff (diff) | |
download | serenity-496b7ffb2b58043a80d90b8b8f44cab1eaa874e8.zip |
LibGfx: Move all image loaders and writers to a subdirectory
Diffstat (limited to 'Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h')
-rw-r--r-- | Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h b/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h new file mode 100644 index 0000000000..b8f7b6097f --- /dev/null +++ b/Userland/Libraries/LibGfx/ImageFormats/PNGLoader.h @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2018-2020, Andreas Kling <kling@serenityos.org> + * + * SPDX-License-Identifier: BSD-2-Clause + */ + +#pragma once + +#include <LibGfx/ImageFormats/ImageDecoder.h> + +namespace Gfx { + +struct PNGLoadingContext; + +class PNGImageDecoderPlugin final : public ImageDecoderPlugin { +public: + static bool sniff(ReadonlyBytes); + static ErrorOr<NonnullOwnPtr<ImageDecoderPlugin>> create(ReadonlyBytes); + + virtual ~PNGImageDecoderPlugin() override; + + virtual IntSize size() override; + virtual void set_volatile() override; + [[nodiscard]] virtual bool set_nonvolatile(bool& was_purged) override; + virtual bool initialize() override; + virtual bool is_animated() override; + virtual size_t loop_count() override; + virtual size_t frame_count() override; + virtual ErrorOr<ImageFrameDescriptor> frame(size_t index) override; + virtual ErrorOr<Optional<ReadonlyBytes>> icc_data() override; + +private: + PNGImageDecoderPlugin(u8 const*, size_t); + + OwnPtr<PNGLoadingContext> m_context; +}; + +} |