summaryrefslogtreecommitdiff
path: root/src/cairo-surface-wrapper-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-04-28 14:26:21 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-04-30 10:16:24 +0100
commit8ded35fd69ed0bbb07359c0278071a25af66571c (patch)
treee6b44acf234b3399306240600c29f470e6045e92 /src/cairo-surface-wrapper-private.h
parent5fc04bba9fa8ddda8cf7d7a97015f21a21429172 (diff)
downloadcairo-8ded35fd69ed0bbb07359c0278071a25af66571c.tar.gz
ps: Enable native encoding of subsurface patterns.
Carefully handle subsurfaces of a recording surface through the analysis and paginated surfaces so that we can generate a native pattern for the vector backends, demonstrated by the PostScript backend. Nothing remarkable, just a lot of bookkeeping to track the wrapped surface types and to apply the correct offsets when generating the subsurface pattern.
Diffstat (limited to 'src/cairo-surface-wrapper-private.h')
-rw-r--r--src/cairo-surface-wrapper-private.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/cairo-surface-wrapper-private.h b/src/cairo-surface-wrapper-private.h
index f0864c5b6..39dad2bd2 100644
--- a/src/cairo-surface-wrapper-private.h
+++ b/src/cairo-surface-wrapper-private.h
@@ -46,7 +46,8 @@ CAIRO_BEGIN_DECLS
struct _cairo_surface_wrapper {
cairo_surface_t *target;
- /* any other information? */
+ cairo_bool_t has_extents;
+ cairo_rectangle_int_t extents;
};
cairo_private void
@@ -54,6 +55,10 @@ _cairo_surface_wrapper_init (cairo_surface_wrapper_t *wrapper,
cairo_surface_t *target);
cairo_private void
+_cairo_surface_wrapper_set_extents (cairo_surface_wrapper_t *wrapper,
+ const cairo_rectangle_int_t *extents);
+
+cairo_private void
_cairo_surface_wrapper_fini (cairo_surface_wrapper_t *wrapper);
cairo_private cairo_status_t