Commit bec8c750 authored by Adrian Johnson's avatar Adrian Johnson
Browse files

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.
parent dccbed7d
......@@ -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;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment