LibWeb: Add {before,after}_children_paint() methods

This allows layout nodes to do some setup before their children paint,
and cleanup after their children paint. This will be used for SVG
components, where their attributes (like stroke width, fill color, etc)
need to be correctly propogated to layout nodes down the line.
This commit is contained in:
Matthew Olsson 2020-10-05 16:11:33 -07:00 committed by Andreas Kling
commit 0b3b6310ec
Notes: sideshowbarker 2024-07-19 01:56:28 +09:00
2 changed files with 7 additions and 0 deletions

View file

@ -95,11 +95,15 @@ void LayoutNode::paint(PaintContext& context, PaintPhase phase)
if (!is_visible())
return;
before_children_paint(context, phase);
for_each_child([&](auto& child) {
if (child.is_box() && downcast<LayoutBox>(child).stacking_context())
return;
child.paint(context, phase);
});
after_children_paint(context, phase);
}
HitTestResult LayoutNode::hit_test(const Gfx::IntPoint& position, HitTestType type) const