[cairo-commit] src/cairo-path-bounds.c
Adrian Johnson
ajohnson at kemper.freedesktop.org
Tue Oct 3 11:58:29 UTC 2017
src/cairo-path-bounds.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
New commits:
commit bec8c7508ebc0f69266f9aebe9903539391c519b
Author: Adrian Johnson <ajohnson at redneon.com>
Date: Tue Oct 3 22:18:49 2017 +1030
Prevent curved strokes in small ctms from being culled from vector surfaces
The combination of both curved strokes and ignoring the ctm in the thin
line check caused some fill-strokes in this test case to be culled.
Modify the thin line check to take the ctm into account and increase
the minimum width to 1 point to prevent curved lines such as tiny dots
from being culled.
https://bugs.freedesktop.org/show_bug.cgi?id=103071
diff --git a/src/cairo-path-bounds.c b/src/cairo-path-bounds.c
index 624b3cb4..ac85f27b 100644
--- a/src/cairo-path-bounds.c
+++ b/src/cairo-path-bounds.c
@@ -200,8 +200,8 @@ _cairo_path_fixed_stroke_extents (const cairo_path_fixed_t *path,
cairo_stroke_style_t style;
/* When calculating extents for vector surfaces, ensure lines thinner
- * than the fixed point resolution are not optimized away. */
- double min_line_width = _cairo_fixed_to_double (CAIRO_FIXED_EPSILON*2);
+ * than one point are not optimized away. */
+ double min_line_width = _cairo_matrix_transformed_circle_major_axis (ctm_inverse, 1.0);
if (stroke_style->line_width < min_line_width)
{
style = *stroke_style;
More information about the cairo-commit
mailing list