diff --git a/Tests/LibWeb/Screenshot/images/svg-path-offset-rounding-ref.png b/Tests/LibWeb/Screenshot/images/svg-path-offset-rounding-ref.png new file mode 100644 index 00000000000..93daec0df6c Binary files /dev/null and b/Tests/LibWeb/Screenshot/images/svg-path-offset-rounding-ref.png differ diff --git a/Tests/LibWeb/Screenshot/reference/svg-path-offset-rounding-ref.html b/Tests/LibWeb/Screenshot/reference/svg-path-offset-rounding-ref.html new file mode 100644 index 00000000000..fe3a0ce02ac --- /dev/null +++ b/Tests/LibWeb/Screenshot/reference/svg-path-offset-rounding-ref.html @@ -0,0 +1,9 @@ + + diff --git a/Tests/LibWeb/Screenshot/svg-path-offset-rounding.html b/Tests/LibWeb/Screenshot/svg-path-offset-rounding.html new file mode 100644 index 00000000000..262a7523b0e --- /dev/null +++ b/Tests/LibWeb/Screenshot/svg-path-offset-rounding.html @@ -0,0 +1,16 @@ + + + + + + + + diff --git a/Userland/Libraries/LibWeb/Painting/SVGPathPaintable.cpp b/Userland/Libraries/LibWeb/Painting/SVGPathPaintable.cpp index eb7a407329d..debc3390edf 100644 --- a/Userland/Libraries/LibWeb/Painting/SVGPathPaintable.cpp +++ b/Userland/Libraries/LibWeb/Painting/SVGPathPaintable.cpp @@ -65,10 +65,9 @@ void SVGPathPaintable::paint(PaintContext& context, PaintPhase phase) const auto const* svg_node = layout_box().first_ancestor_of_type(); auto svg_element_rect = svg_node->paintable_box()->absolute_rect(); - // FIXME: This should not be trucated to an int. DisplayListRecorderStateSaver save_painter { context.display_list_recorder() }; - auto offset = context.floored_device_point(svg_element_rect.location()).to_type().to_type(); + auto offset = context.rounded_device_point(svg_element_rect.location()).to_type().to_type(); auto maybe_view_box = svg_node->dom_node().view_box(); auto paint_transform = computed_transforms().svg_to_device_pixels_transform(context);