1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 19:27:44 +00:00

LibGfx: Comment ImageDecoderPlugin's interface

This is done as an effort to unify the behavior of every plugin. See
#19893 for more details.
This commit is contained in:
Lucas CHOLLET 2023-07-17 13:15:13 -04:00 committed by Sam Atkins
parent 4291288a31
commit 7acb656826

View file

@ -35,10 +35,19 @@ class ImageDecoderPlugin {
public:
virtual ~ImageDecoderPlugin() = default;
// Each plugin should implement these static functions and register them in ImageDecoder.cpp
// Implement sniff() if the file includes a magic number
// static bool sniff(ReadonlyBytes);
// Implement validate_before_create() otherwise
// static ErrorOr<bool> validate_before_create(ReadonlyBytes);
// This function should be used to both create the context and parse the image header.
// static ErrorOr<NonnullOwnPtr<ImageDecoderPlugin>> create(ReadonlyBytes);
// This should always be available as gathered in create()
virtual IntSize size() = 0;
virtual bool is_animated() = 0;
virtual size_t loop_count() = 0;
virtual size_t frame_count() = 0;
virtual size_t first_animated_frame_index() = 0;