1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 03:27:44 +00:00
serenity/Userland/Libraries/LibWeb/Painting
Andreas Kling b14c6eaef3 LibWeb: Let paintables cache their containing block and absolute rect
The absolute rect of a paintable is somewhat expensive to compute. This
is because all coordinates are relative to the nearest containing block,
so we have to traverse the containing block chain and apply each offset
to get the final rect.

Paintables will never move between containing blocks, nor will their
absolute rect change. If anything changes, we'll simpl make a new
paintable and replace the old one.

Take advantage of this by caching the containing block and absolute rect
after first access.
2022-03-12 00:39:31 +01:00
..
BackgroundPainting.cpp LibWeb: Remove redundant Length::resolved() calls 2022-02-18 19:04:37 +01:00
BackgroundPainting.h LibWeb: Implement background-clip :^) 2021-11-17 22:20:01 +01:00
BorderPainting.cpp LibWeb: Remove redundant Length::resolved() calls 2022-02-18 19:04:37 +01:00
BorderPainting.h LibWeb: Convert border-radii from Length to LengthPercentage :^) 2022-01-20 00:04:10 +01:00
ButtonPaintable.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
ButtonPaintable.h LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
CanvasPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
CanvasPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
CheckBoxPaintable.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
CheckBoxPaintable.h LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
ImagePaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
ImagePaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
InlinePaintable.cpp LibWeb: Let paintables cache their containing block and absolute rect 2022-03-12 00:39:31 +01:00
InlinePaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
LabelablePaintable.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
LabelablePaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
MarkerPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
MarkerPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
NestedBrowsingContextPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
NestedBrowsingContextPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
Paintable.cpp LibWeb: Let paintables cache their containing block and absolute rect 2022-03-12 00:39:31 +01:00
Paintable.h LibWeb: Let paintables cache their containing block and absolute rect 2022-03-12 00:39:31 +01:00
PaintableBox.cpp LibWeb: Let paintables cache their containing block and absolute rect 2022-03-12 00:39:31 +01:00
PaintableBox.h LibWeb: Let paintables cache their containing block and absolute rect 2022-03-12 00:39:31 +01:00
PaintContext.cpp LibWeb: Don't crash on content with SVG elements outside of <svg> 2022-02-28 14:17:44 +01:00
PaintContext.h LibWeb: Move some of PaintContext out of line 2022-02-28 14:17:44 +01:00
ProgressPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
ProgressPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
RadioButtonPaintable.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
RadioButtonPaintable.h LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
ShadowPainting.cpp LibWeb: Paint box-shadows more efficiently 2022-02-09 19:36:26 +01:00
ShadowPainting.h LibWeb: Incorporate spread-distance into box-shadow rendering 2022-02-08 17:45:51 +01:00
StackingContext.cpp LibWeb: Move hit testing to the painting tree 2022-03-11 00:21:49 +01:00
StackingContext.h LibWeb: Move hit testing to the painting tree 2022-03-11 00:21:49 +01:00
SVGGeometryPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGGeometryPaintable.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGGraphicsPaintable.cpp LibWeb: Split Paintable into Paintable and PaintableBox 2022-03-11 00:21:49 +01:00
SVGGraphicsPaintable.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGPaintable.cpp LibWeb: Split Paintable into Paintable and PaintableBox 2022-03-11 00:21:49 +01:00
SVGPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00
SVGSVGPaintable.cpp LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
SVGSVGPaintable.h LibWeb: Make Paintable ref-counted 2022-03-11 00:21:49 +01:00
TextPaintable.cpp LibWeb: Move mouse event and label logic from layout to painting tree 2022-03-11 00:21:49 +01:00
TextPaintable.h LibWeb: Move PaintingBox to its own .cpp and .h files 2022-03-11 00:21:49 +01:00