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

LibWeb: Move BorderRadiusCornerClipper allocation into CPU executor

BorderRadiusCornerClipper usage to clip border radius is specific to
CPU painter so it should not be stored in painting commands.

Also with this change bitmaps for corner sampling are allocated during
painting commands replaying instead of commands recording.
This commit is contained in:
Aliaksandr Kalenik 2023-12-05 22:30:32 +01:00 committed by Andreas Kling
parent 89fd8dfaad
commit e8960cf754
12 changed files with 85 additions and 63 deletions

View file

@ -71,6 +71,8 @@ public:
CSSPixelPoint scroll_offset() const { return m_scroll_offset; }
void translate_scroll_offset_by(CSSPixelPoint offset) { m_scroll_offset.translate_by(offset); }
u32 allocate_corner_clipper_id() { return m_next_corner_clipper_id++; }
private:
Painting::RecordingPainter& m_recording_painter;
Palette m_palette;
@ -80,6 +82,7 @@ private:
bool m_focus { false };
CSSPixelPoint m_scroll_offset;
Gfx::AffineTransform m_svg_transform;
u32 m_next_corner_clipper_id { 0 };
};
}