[PATCH 2/3] quartz: Mark surfaces created clear as is_clear

Andrea Canciani <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
This might provide a speedup when clearing an already clear surface
and is required by cairo_surface_create_similar().

Fixes zero-mask.
---
 src/cairo-quartz-surface.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index 832e9fc..994b92f 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);
 
-- 
1.7.7.5 (Apple Git-26)

--
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.