summaryrefslogtreecommitdiff
path: root/src/cairo-surface-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2010-04-29 15:19:18 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2010-04-30 10:16:23 +0100
commit07122f37d11eabe62bc9c81ccbf71bbe8b7a1005 (patch)
tree7075c26d696f75d006bd273f1482d8346557dc0f /src/cairo-surface-private.h
parent4cb733c28551f4a34cd4a225b8d797a55bf9b977 (diff)
downloadcairo-07122f37d11eabe62bc9c81ccbf71bbe8b7a1005.tar.gz
surface: Convert snapshots from an array to a double-linked list.
Saves the memory allocation for the array, and the overhead of maintaining the area for both insertions and more importantly deletes.
Diffstat (limited to 'src/cairo-surface-private.h')
-rw-r--r--src/cairo-surface-private.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/cairo-surface-private.h b/src/cairo-surface-private.h
index e7a3da435..560929004 100644
--- a/src/cairo-surface-private.h
+++ b/src/cairo-surface-private.h
@@ -41,6 +41,7 @@
#include "cairo.h"
#include "cairo-types-private.h"
+#include "cairo-list-private.h"
#include "cairo-reference-count-private.h"
#include "cairo-clip-private.h"
@@ -85,8 +86,8 @@ struct _cairo_surface {
/* A "snapshot" surface is immutable. See _cairo_surface_snapshot. */
cairo_surface_t *snapshot_of;
cairo_surface_func_t snapshot_detach;
- /* current snapshots of this surface */
- cairo_array_t snapshots;
+ /* current snapshots of this surface, or place upon snapshot list */
+ cairo_list_t snapshots;
/*
* Surface font options, falling back to backend's default options,