diff --git a/Tests/LibWeb/Ref/reference/images/border-radius-ref.png b/Tests/LibWeb/Ref/reference/images/border-radius-ref.png index 3531dfd70ba..4d80cf5da15 100644 Binary files a/Tests/LibWeb/Ref/reference/images/border-radius-ref.png and b/Tests/LibWeb/Ref/reference/images/border-radius-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/canvas-path-rect-ref.png b/Tests/LibWeb/Ref/reference/images/canvas-path-rect-ref.png index efe2a7dc932..2d490ac6a66 100644 Binary files a/Tests/LibWeb/Ref/reference/images/canvas-path-rect-ref.png and b/Tests/LibWeb/Ref/reference/images/canvas-path-rect-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/css-backgrounds-ref.png b/Tests/LibWeb/Ref/reference/images/css-backgrounds-ref.png index 7d0e69ddadf..b1689dd5e99 100644 Binary files a/Tests/LibWeb/Ref/reference/images/css-backgrounds-ref.png and b/Tests/LibWeb/Ref/reference/images/css-backgrounds-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/inline-node-ref.png b/Tests/LibWeb/Ref/reference/images/inline-node-ref.png index 86457f7f688..1c791ec3ff6 100644 Binary files a/Tests/LibWeb/Ref/reference/images/inline-node-ref.png and b/Tests/LibWeb/Ref/reference/images/inline-node-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/object-fit-position.png b/Tests/LibWeb/Ref/reference/images/object-fit-position.png index 4330aad35de..1dfd5789a18 100644 Binary files a/Tests/LibWeb/Ref/reference/images/object-fit-position.png and b/Tests/LibWeb/Ref/reference/images/object-fit-position.png differ diff --git a/Tests/LibWeb/Ref/reference/images/outer-box-shadow-ref.png b/Tests/LibWeb/Ref/reference/images/outer-box-shadow-ref.png index 6e477a0ac95..b68e17ef697 100644 Binary files a/Tests/LibWeb/Ref/reference/images/outer-box-shadow-ref.png and b/Tests/LibWeb/Ref/reference/images/outer-box-shadow-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png b/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png index 56cb7f3f46f..1cca4813f47 100644 Binary files a/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png and b/Tests/LibWeb/Ref/reference/images/svg-background-no-natural-size-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png b/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png index c35dd031c0c..b75ea07b43c 100644 Binary files a/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png and b/Tests/LibWeb/Ref/reference/images/svg-textPath-ref.png differ diff --git a/Tests/LibWeb/Ref/reference/images/text-shadow-ref.png b/Tests/LibWeb/Ref/reference/images/text-shadow-ref.png index 5900ae81610..5c1c6881f2f 100644 Binary files a/Tests/LibWeb/Ref/reference/images/text-shadow-ref.png and b/Tests/LibWeb/Ref/reference/images/text-shadow-ref.png differ diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index 3109f958536..da1caf9139e 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -2086,7 +2086,8 @@ void Painter::draw_triangle_wave(IntPoint a_p1, IntPoint a_p2, Color color, int static bool can_approximate_bezier_curve(FloatPoint p1, FloatPoint p2, FloatPoint control) { - constexpr float tolerance = 0.015f; + // TODO: Somehow calculate the required number of splits based on the curve (and its size). + constexpr float tolerance = 0.5f; auto p1x = 3 * control.x() - 2 * p1.x() - p2.x(); auto p1y = 3 * control.y() - 2 * p1.y() - p2.y(); @@ -2163,7 +2164,8 @@ void Painter::for_each_line_segment_on_cubic_bezier_curve(FloatPoint control_poi static bool can_approximate_cubic_bezier_curve(FloatPoint p1, FloatPoint p2, FloatPoint control_0, FloatPoint control_1) { - constexpr float tolerance = 0.015f; + // TODO: Somehow calculate the required number of splits based on the curve (and its size). + constexpr float tolerance = 0.5f; auto ax = 3 * control_0.x() - 2 * p1.x() - p2.x(); auto ay = 3 * control_0.y() - 2 * p1.y() - p2.y(); diff --git a/Userland/Libraries/LibGfx/Path.cpp b/Userland/Libraries/LibGfx/Path.cpp index fd22ec195b9..a4fdac63192 100644 --- a/Userland/Libraries/LibGfx/Path.cpp +++ b/Userland/Libraries/LibGfx/Path.cpp @@ -514,9 +514,10 @@ Path Path::stroke_to_fill(float thickness) const } // Note: This is the same as the tolerance from bezier curve splitting. - constexpr auto flatness = 0.015f; - auto pen_vertex_count = max( - static_cast(ceilf(AK::Pi / acosf(1 - (2 * flatness) / thickness))), 4); + constexpr auto flatness = 0.5f; + auto pen_vertex_count = (thickness >= 2 * flatness) ? max( + static_cast(ceilf(AK::Pi / acosf(1 - (2 * flatness) / thickness))), 4) + : 4; if (pen_vertex_count % 2 == 1) pen_vertex_count += 1;