ImageDecoder: Handle decoding of images in an asynchronous manner

ImageDecoder now queues up image decoding requests and returns the
images back to the caller later. ImageDecoderClient has a new
promise-based API that allows callers to attach their own resolve/reject
handlers to the responses from ImageDecoder.
This commit is contained in:
Andrew Kaster
2024-04-19 14:23:16 -06:00
committed by Andrew Kaster
parent 0d8064fafc
commit b871bc082c
6 changed files with 132 additions and 31 deletions

View File

@@ -1,7 +1,7 @@
#include <LibCore/AnonymousBuffer.h>
#include <LibGfx/ShareableBitmap.h>
endpoint ImageDecoderServer
{
decode_image(Core::AnonymousBuffer data, Optional<Gfx::IntSize> ideal_size, Optional<ByteString> mime_type) => (bool is_animated, u32 loop_count, Vector<Gfx::ShareableBitmap> bitmaps, Vector<u32> durations, Gfx::FloatPoint scale)
decode_image(Core::AnonymousBuffer data, Optional<Gfx::IntSize> ideal_size, Optional<ByteString> mime_type) => (i64 image_id)
cancel_decoding(i64 image_id) =|
}