patch: quartz - fallback when source/mask has CAIRO_EXTEND_PAD and they are surface type

"Henry (Yu) Song - SISA" <[email protected]>
Newsgroups gmane.comp.lib.cairo
Message-ID <3955FA337689574EB32F94B12A7E6E9E16363D11@sisaex01sj>
commit 20d3005bc98d0f75606c67175ec73a9ce3827e31
Author: Henry Song <[email protected]>
Date:   Mon Jul 23 12:33:45 2012 -0700

    quartz:  quartz does not handle CAIRO_EXTEND_PAD, let's fallback

diff --git a/src/cairo-quartz-surface.c b/src/cairo-quartz-surface.c
index 28bdae6..471c95d 100644
--- a/src/cairo-quartz-surface.c
+++ b/src/cairo-quartz-surface.c
@@ -1139,6 +1139,15 @@ _cairo_quartz_setup_state (cairo_quartz_drawing_state_t *state,
     state->cgDrawContext = NULL;
     state->cgMaskContext = NULL;
 
+    /* FIXME: ideally, we should use CIImage's CIAffineClamp for 
+       CAIRO_EXTEND_PAD
+     */
+    if ((composite->source_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+	 composite->source_pattern.base.extend == CAIRO_EXTEND_PAD) ||
+	(composite->mask_pattern.base.type == CAIRO_PATTERN_TYPE_SURFACE &&
+	 composite->mask_pattern.base.extend == CAIRO_EXTEND_PAD))
+	return CAIRO_INT_STATUS_UNSUPPORTED;
+
     status = _cairo_surface_clipper_set_clip (&surface->clipper, clip);
     if (unlikely (status))
 	return status;
-- 
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.