diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-08-28 10:06:04 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-08-29 08:08:38 +0100 |
commit | ab035ab2c7bec254fc94d6391398905b5039e777 (patch) | |
tree | 49312efc13ca5778e7c09c1e17de987b74ca89c1 /src/cairo-path-stroke.c | |
parent | d7b0c3b784faba756b10b66b9757e6e4c3fce38c (diff) | |
download | cairo-ab035ab2c7bec254fc94d6391398905b5039e777.tar.gz |
[tessellate] Rectangular special case
Add an even simpler sweep-line tessellator for rectangular trapezoids (as
produced by the rectilinear stoker and box filler).
This is so simple it even outperforms pixman's region validation code for the
purposes of path-to-region conversion.
Diffstat (limited to 'src/cairo-path-stroke.c')
-rw-r--r-- | src/cairo-path-stroke.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cairo-path-stroke.c b/src/cairo-path-stroke.c index 69300da3a..5c4f4fc7b 100644 --- a/src/cairo-path-stroke.c +++ b/src/cairo-path-stroke.c @@ -2029,8 +2029,9 @@ _cairo_path_fixed_stroke_rectilinear_to_traps (const cairo_path_fixed_t *path, status = _cairo_rectilinear_stroker_emit_segments (&rectilinear_stroker); traps->is_rectilinear = 1; + traps->is_rectangular = 1; /* As we incrementally tessellate, we do not eliminate self-intersections */ - traps->has_intersections = traps->num_traps != 0; + traps->has_intersections = traps->num_traps > 1; BAIL: _cairo_rectilinear_stroker_fini (&rectilinear_stroker); |