mirror of
https://github.com/RGBCube/serenity
synced 2025-06-28 21:22:08 +00:00
ImageDecoder+LibImageDecoder+LibWeb: Support animations in ImageDecoder
The ImageDecoder service now returns a list of image frames, each with a duration value. The code for in-process image decoding is removed from LibWeb, an all image decode requests are sent out-of-process to ImageDecoder. :^) This won't scale super well to very long and/or large animations, but we can work on improving that separately. The main goal here is simply to stop doing any image decoding inside LibWeb. Fixes #5165.
This commit is contained in:
parent
449d56ef74
commit
7449c1b27f
10 changed files with 143 additions and 73 deletions
|
@ -2,5 +2,5 @@ endpoint ImageDecoderServer = 7001
|
|||
{
|
||||
Greet(i32 client_pid) => (i32 client_id, i32 server_pid)
|
||||
|
||||
DecodeImage(Core::AnonymousBuffer data) => (Gfx::ShareableBitmap bitmap)
|
||||
DecodeImage(Core::AnonymousBuffer data) => (bool is_animated, u32 loop_count, Vector<Gfx::ShareableBitmap> bitmaps, Vector<u32> durations)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue