summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Canciani <ranma42@gmail.com>2012-01-06 20:13:39 +0100
committerAndrea Canciani <ranma42@gmail.com>2012-05-26 16:07:33 +0200
commita8a4a8dfd450a8ce97998b5e5e09971d07a957f4 (patch)
tree5d03389505bd12be40fde2098e74a6f1dbad5b51
parent3735881e38d2bee941128725b8cdde6779d60a30 (diff)
quartz: Mark surfaces created clear as is_clear
This might provide a speedup when clearing an already clear surface and is required by cairo_surface_create_similar(). Fixes zero-mask.
-rw-r--r--src/cairo-quartz-surface.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index 832e9fc4..994b92fa 100644
--- a/src/cairo-quartz-surface.c
+++ b/src/cairo-quartz-surface.c
@@ -2275,6 +2275,7 @@ _cairo_quartz_surface_create_internal (CGContextRef cgContext,
surface->cgContext = NULL;
surface->cgContextBaseCTM = CGAffineTransformIdentity;
surface->imageData = NULL;
+ surface->base.is_clear = TRUE;
return surface;
}
@@ -2438,6 +2439,8 @@ cairo_quartz_surface_create (cairo_format_t format,
return &surf->base;
}
+ surf->base.is_clear = TRUE;
+
surf->imageData = imageData;
surf->imageSurfaceEquiv = cairo_image_surface_create_for_data (imageData, format, width, height, stride);