LibAccelGfx+LibWeb: Add basic push/pop stacking context implementation

With basic PushStackingContext and PopStackingContext commands
implementation scrolling works again after changes being made in:
4e04f81626
This commit is contained in:
Aliaksandr Kalenik 2023-11-20 21:57:50 +01:00 committed by Andreas Kling
parent 2579b01be8
commit 1b0cc67a28
Notes: sideshowbarker 2024-07-17 09:56:35 +09:00
2 changed files with 5 additions and 3 deletions

View file

@ -39,6 +39,7 @@ public:
[[nodiscard]] Gfx::AffineTransform const& transform() const { return state().transform; }
void set_transform(Gfx::AffineTransform const& transform) { state().transform = transform; }
void translate(Gfx::FloatPoint translation) { state().transform.translate(translation); }
void fill_rect(Gfx::FloatRect, Gfx::Color);
void fill_rect(Gfx::IntRect, Gfx::Color);

View file

@ -75,15 +75,16 @@ CommandResult PaintingCommandExecutorGPU::set_font(Gfx::Font const&)
return CommandResult::Continue;
}
CommandResult PaintingCommandExecutorGPU::push_stacking_context(float, bool, Gfx::IntRect const&, Gfx::IntPoint, CSS::ImageRendering, StackingContextTransform, Optional<StackingContextMask>)
CommandResult PaintingCommandExecutorGPU::push_stacking_context(float, bool, Gfx::IntRect const&, Gfx::IntPoint post_transform_translation, CSS::ImageRendering, StackingContextTransform, Optional<StackingContextMask>)
{
// FIXME
painter().save();
painter().translate(post_transform_translation.to_type<float>());
return CommandResult::Continue;
}
CommandResult PaintingCommandExecutorGPU::pop_stacking_context()
{
// FIXME
painter().restore();
return CommandResult::Continue;
}