diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-03 18:26:50 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-07-03 18:26:50 +0100 |
commit | 6003ab77e1ebefadb97338de0e7da4a76d973b1a (patch) | |
tree | e375335dac3abfdd3e75cb18a317824556de84f6 /src/cairo.h | |
parent | 2a9903dbbfeb3fe843f0d618d15674b37a29f3a9 (diff) |
Export meta-surface
The meta-surface is a vital tool to record a trace of drawing commands
in-memory. As such it is used throughout cairo.
The value of such a surface is immediately obvious and should be
applicable for many applications. The first such case is by
cairo-test-trace which wants to record the entire graph of drawing commands
that affect a surface in the event of a failure.
Diffstat (limited to 'src/cairo.h')
-rw-r--r-- | src/cairo.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/cairo.h b/src/cairo.h index 37ccdc3c..8f7e5338 100644 --- a/src/cairo.h +++ b/src/cairo.h @@ -1890,6 +1890,7 @@ cairo_surface_status (cairo_surface_t *surface); * @CAIRO_SURFACE_TYPE_QUARTZ_IMAGE: The surface is of type quartz_image * @CAIRO_SURFACE_TYPE_SCRIPT: The surface is of type script, since 1.10 * @CAIRO_SURFACE_TYPE_QT: The surface is of type Qt, since 1.10 + * @CAIRO_SURFACE_TYPE_META: The surface is a meta-type, since 1.10 * * #cairo_surface_type_t is used to describe the type of a given * surface. The surface types are also known as "backends" or "surface @@ -1930,7 +1931,8 @@ typedef enum _cairo_surface_type { CAIRO_SURFACE_TYPE_WIN32_PRINTING, CAIRO_SURFACE_TYPE_QUARTZ_IMAGE, CAIRO_SURFACE_TYPE_SCRIPT, - CAIRO_SURFACE_TYPE_QT + CAIRO_SURFACE_TYPE_QT, + CAIRO_SURFACE_TYPE_META } cairo_surface_type_t; cairo_public cairo_surface_type_t @@ -2108,6 +2110,24 @@ cairo_image_surface_create_from_png_stream (cairo_read_func_t read_func, #endif +/* Meta-surface functions */ + +cairo_public cairo_surface_t * +cairo_meta_surface_create (cairo_content_t content, + double width_pixels, + double height_pixels); + +cairo_public void +cairo_meta_surface_ink_extents (cairo_surface_t *surface, + double *x0, + double *y0, + double *width, + double *height); + +cairo_public cairo_status_t +cairo_meta_surface_replay (cairo_surface_t *surface, + cairo_surface_t *target); + /* Pattern creation functions */ cairo_public cairo_pattern_t * |