diff options
author | Andreas Kling <kling@serenityos.org> | 2021-01-29 22:30:48 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2021-01-29 22:38:22 +0100 |
commit | 7449c1b27f08305a30e63e3f16694c85306fba08 (patch) | |
tree | 128a45164cf86aff2e7895173745b5da5ce2bc50 /Userland/Libraries/LibWeb/Layout/ImageBox.cpp | |
parent | 449d56ef746cde5563cd42d33b1cff0b79d2e10c (diff) | |
download | serenity-7449c1b27f08305a30e63e3f16694c85306fba08.zip |
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.
Diffstat (limited to 'Userland/Libraries/LibWeb/Layout/ImageBox.cpp')
-rw-r--r-- | Userland/Libraries/LibWeb/Layout/ImageBox.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Libraries/LibWeb/Layout/ImageBox.cpp b/Userland/Libraries/LibWeb/Layout/ImageBox.cpp index a00c551c7a..aefd465eda 100644 --- a/Userland/Libraries/LibWeb/Layout/ImageBox.cpp +++ b/Userland/Libraries/LibWeb/Layout/ImageBox.cpp @@ -114,7 +114,7 @@ void ImageBox::paint(PaintContext& context, PaintPhase phase) if (alt.is_empty()) alt = image_element.src(); context.painter().draw_text(enclosing_int_rect(absolute_rect()), alt, Gfx::TextAlignment::Center, computed_values().color(), Gfx::TextElision::Right); - } else if (auto bitmap = m_image_loader.bitmap()) { + } else if (auto bitmap = m_image_loader.bitmap(m_image_loader.current_frame_index())) { context.painter().draw_scaled_bitmap(enclosing_int_rect(absolute_rect()), *bitmap, bitmap->rect()); } } |