diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2010-01-18 19:05:34 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2010-01-22 23:01:50 +0000 |
commit | 934d0d0d6585eb7638c7db597c40dd821092c034 (patch) | |
tree | 2809f3241b797800ceefe375b89ae4f0b9a6a884 /src/cairo-types-private.h | |
parent | 6b3e19aa434d159db7878b2a7fb28a026b2d1756 (diff) | |
download | cairo-934d0d0d6585eb7638c7db597c40dd821092c034.tar.gz |
Real zero-copy cow snapshotting
The first iteration of COW snapshotting always made an initial copy when
the snapshot was requested (and reused that copy until the surface was
modified). However, in a few circumstances we can avoid even that copy
so long as the surface is still alive and unmodified between the
snapshotting and its use. In order to do so, we need a new proxy surface
that can automatically perform the copy if the target should disappear
prior to use.
Diffstat (limited to 'src/cairo-types-private.h')
-rw-r--r-- | src/cairo-types-private.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/cairo-types-private.h b/src/cairo-types-private.h index 125874bdb..e10d11ec7 100644 --- a/src/cairo-types-private.h +++ b/src/cairo-types-private.h @@ -64,6 +64,7 @@ typedef struct _cairo_scaled_font_backend cairo_scaled_font_backend_t; typedef struct _cairo_scaled_font_subsets cairo_scaled_font_subsets_t; typedef struct _cairo_solid_pattern cairo_solid_pattern_t; typedef struct _cairo_surface_backend cairo_surface_backend_t; +typedef struct _cairo_surface_snapshot cairo_surface_snapshot_t; typedef struct _cairo_surface_subsurface cairo_surface_subsurface_t; typedef struct _cairo_surface_wrapper cairo_surface_wrapper_t; typedef struct _cairo_unscaled_font_backend cairo_unscaled_font_backend_t; @@ -166,6 +167,7 @@ typedef enum _cairo_int_status { typedef enum _cairo_internal_surface_type { CAIRO_INTERNAL_SURFACE_TYPE_SUBSURFACE = 0x1000, + CAIRO_INTERNAL_SURFACE_TYPE_SNAPSHOT, CAIRO_INTERNAL_SURFACE_TYPE_PAGINATED, CAIRO_INTERNAL_SURFACE_TYPE_ANALYSIS, CAIRO_INTERNAL_SURFACE_TYPE_TEST_FALLBACK, |