summaryrefslogtreecommitdiff
path: root/src/cairo-path-fixed-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-01-22 15:54:45 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2010-01-22 23:01:52 +0000
commit6b77567b6ef28710c7707ab82c7fa95c810152d1 (patch)
treebdeedad0ec53e1984ed1f319eccddf2ab14141dd /src/cairo-path-fixed-private.h
parent6bfcf3ea55964fee1c9b73818c3bb7cdacbc4f82 (diff)
downloadcairo-6b77567b6ef28710c7707ab82c7fa95c810152d1.tar.gz
path: Compute coarse bounds upon construction.
Frequently we only need the coarse path bounds, so avoid walking over the list of points once more as we can cheaply track the extents during construction.
Diffstat (limited to 'src/cairo-path-fixed-private.h')
-rw-r--r--src/cairo-path-fixed-private.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/cairo-path-fixed-private.h b/src/cairo-path-fixed-private.h
index 08b7a0623..601d21460 100644
--- a/src/cairo-path-fixed-private.h
+++ b/src/cairo-path-fixed-private.h
@@ -80,15 +80,17 @@ struct _cairo_path_fixed {
cairo_point_t last_move_point;
cairo_point_t current_point;
unsigned int has_current_point : 1;
+ unsigned int has_last_move_point : 1;
unsigned int has_curve_to : 1;
unsigned int is_rectilinear : 1;
unsigned int maybe_fill_region : 1;
unsigned int is_empty_fill : 1;
+ cairo_box_t extents;
+
cairo_path_buf_fixed_t buf;
};
-
cairo_private void
_cairo_path_fixed_translate (cairo_path_fixed_t *path,
cairo_fixed_t offx,