[cairo] [PATCH] don't wipe out quartz data with memset
Josh Aas
joshmoz at gmail.com
Wed Sep 14 01:48:20 PDT 2005
Hello,
Right now, the quartz backend draws into a buffer and dumps that buffer
down the CGContextRef pipe when it is ready (release_dest_image).
Problem is, right now we memset that whole buffer to zero after dumping
it each time. Thus, if you use an operator like
CAIRO_OPERATOR_DEST_OVER, it won't be aware of any existing dest data.
Here is a patch that drops the memset, and makes quartz drawing much
more correct.
For the record, I'm not endorsing the way things are done now by fixing
it. I'm just saying this fixes our current totally wrong rendering. I'm
working on a better way to organize the quartz backend.
-Josh
-------------- next part --------------
Index: src/cairo-quartz-surface.c
===================================================================
RCS file: /cvs/cairo/cairo/src/cairo-quartz-surface.c,v
retrieving revision 1.20
diff -u -r1.20 cairo-quartz-surface.c
--- src/cairo-quartz-surface.c 18 Aug 2005 21:34:10 -0000 1.20
+++ src/cairo-quartz-surface.c 14 Sep 2005 08:36:49 -0000
@@ -175,8 +175,6 @@
rect = CGRectMake(0, 0, surface->width, surface->height);
CGContextDrawImage(surface->context, rect, surface->cgImage);
-
- memset(surface->image->data, 0, surface->width * surface->height * 4);
}
}
More information about the cairo
mailing list