1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 10:27:35 +00:00

LibWeb: Resolve box shadow data for paintable boxes during layout

Step towards making the paintable tree independent of the layout tree.
This commit is contained in:
Aliaksandr Kalenik 2023-12-19 19:42:00 +01:00 committed by Andreas Kling
parent f68c67bf3f
commit b2abd1dd05
4 changed files with 35 additions and 26 deletions

View file

@ -191,6 +191,9 @@ public:
BorderRadiiData const& border_radii_data() const { return m_border_radii_data; }
void set_border_radii_data(BorderRadiiData const& border_radii_data) { m_border_radii_data = border_radii_data; }
void set_box_shadow_data(Vector<ShadowData> box_shadow_data) { m_box_shadow_data = move(box_shadow_data); }
Vector<ShadowData> const& box_shadow_data() const { return m_box_shadow_data; }
PaintableBox const* nearest_scrollable_ancestor() const;
protected:
@ -206,8 +209,6 @@ protected:
virtual CSSPixelRect compute_absolute_rect() const;
virtual CSSPixelRect compute_absolute_paint_rect() const;
Vector<ShadowData> resolve_box_shadow_data() const;
private:
[[nodiscard]] virtual bool is_paintable_box() const final { return true; }
@ -230,6 +231,7 @@ private:
Optional<TableCellCoordinates> m_table_cell_coordinates;
BorderRadiiData m_border_radii_data;
Vector<ShadowData> m_box_shadow_data;
};
class PaintableWithLines : public PaintableBox {