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

LibWeb: Implement CSS transforms on stacking contexts

Since there is currently no easy way to handle rotations and skews
with LibGfx this only implements translation and scaling by first
constructing a general 4x4 transformation matrix like outlined in
the css-transforms-1 specification. This is then downgraded to a
Gfx::AffineTransform in order to transform the destination rectangle
used with draw_scaled_bitmap()

While rotation would be nice this already looks pretty good :^)
This commit is contained in:
Simon Wanner 2022-03-18 01:29:20 +01:00 committed by Andreas Kling
parent 7c79fc209f
commit a2331e8dd3
4 changed files with 121 additions and 42 deletions

View file

@ -60,8 +60,6 @@ private:
void layout_floating_box(Box const& child, BlockContainer const& containing_block, LayoutMode);
void apply_transformations_to_children(Box const&);
void layout_list_item_marker(ListItemBox const&);
enum class FloatSide {