summaryrefslogtreecommitdiff
path: root/src/cairoint.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-08-28 10:06:04 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-08-29 08:08:38 +0100
commitab035ab2c7bec254fc94d6391398905b5039e777 (patch)
tree49312efc13ca5778e7c09c1e17de987b74ca89c1 /src/cairoint.h
parentd7b0c3b784faba756b10b66b9757e6e4c3fce38c (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.h5
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);