mirror of
https://github.com/RGBCube/serenity
synced 2025-07-26 02:37:35 +00:00
LibWeb: Remove per path clipping for SVGGeometryPaintable
Somewhere the path bounding box in the layout and the actual draw path are getting slightly mismatched. This results in partly clipped bits of SVGs. The paths are already clipped to the containing SVG, and the size of the path in the layout is computed from the bounding box, so it is probably safe just to remove this clipping for now.
This commit is contained in:
parent
de9604212f
commit
47fc91ed43
1 changed files with 1 additions and 3 deletions
|
@ -65,13 +65,11 @@ void SVGGeometryPaintable::paint(PaintContext& context, PaintPhase phase) const
|
||||||
auto const* svg_element = geometry_element.first_ancestor_of_type<SVG::SVGSVGElement>();
|
auto const* svg_element = geometry_element.first_ancestor_of_type<SVG::SVGSVGElement>();
|
||||||
auto maybe_view_box = svg_element->view_box();
|
auto maybe_view_box = svg_element->view_box();
|
||||||
|
|
||||||
context.painter().add_clip_rect(context.enclosing_device_rect(absolute_rect()).to_type<int>());
|
|
||||||
auto css_scale = context.device_pixels_per_css_pixel();
|
|
||||||
|
|
||||||
auto transform = layout_box().layout_transform();
|
auto transform = layout_box().layout_transform();
|
||||||
if (!transform.has_value())
|
if (!transform.has_value())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
auto css_scale = context.device_pixels_per_css_pixel();
|
||||||
auto paint_transform = Gfx::AffineTransform {}.scale(css_scale, css_scale).multiply(*transform);
|
auto paint_transform = Gfx::AffineTransform {}.scale(css_scale, css_scale).multiply(*transform);
|
||||||
auto const& original_path = const_cast<SVG::SVGGeometryElement&>(geometry_element).get_path();
|
auto const& original_path = const_cast<SVG::SVGGeometryElement&>(geometry_element).get_path();
|
||||||
Gfx::Path path = original_path.copy_transformed(paint_transform);
|
Gfx::Path path = original_path.copy_transformed(paint_transform);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue