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/cairoint.h | |
parent | d7b0c3b784faba756b10b66b9757e6e4c3fce38c (diff) |
[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/cairoint.h')
-rw-r--r-- | src/cairoint.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/cairoint.h b/src/cairoint.h index 4db99d6a..a3cc6c75 100644 --- a/src/cairoint.h +++ b/src/cairoint.h @@ -963,6 +963,7 @@ typedef struct _cairo_traps { unsigned int maybe_region : 1; /* hint: 0 implies that it cannot be */ unsigned int has_intersections : 1; unsigned int is_rectilinear : 1; + unsigned int is_rectangular : 1; int num_traps; int traps_size; @@ -2407,6 +2408,10 @@ _cairo_bentley_ottmann_tessellate_traps (cairo_traps_t *traps, cairo_fill_rule_t fill_rule); cairo_private cairo_status_t +_cairo_bentley_ottmann_tessellate_rectangular_traps (cairo_traps_t *traps, + cairo_fill_rule_t fill_rule); + +cairo_private cairo_status_t _cairo_bentley_ottmann_tessellate_rectilinear_traps (cairo_traps_t *traps, cairo_fill_rule_t fill_rule); |