[cairo-commit] src/cairo-pdf-surface.c

Adrian Johnson ajohnson at kemper.freedesktop.org
Sun Apr 27 06:30:31 PDT 2008


 src/cairo-pdf-surface.c |   13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

New commits:
commit 76e655e5084270b7e5a9ed153e50e2f544c9b46f
Author: Adrian Johnson <ajohnson at redneon.com>
Date:   Sun Apr 27 22:59:22 2008 +0930

    Fix group-paint PDF test failure

diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 42092f4..bb39e03 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -4186,8 +4186,19 @@ _cairo_pdf_surface_analyze_operation (cairo_pdf_surface_t  *surface,
 	    cairo_surface_pattern_t *surface_pattern = (cairo_surface_pattern_t *) pattern;
 
 	    if (_cairo_surface_is_meta (surface_pattern->surface)) {
-		if (_cairo_pattern_is_opaque (pattern))
+		if (_cairo_pattern_is_opaque (pattern)) {
 		    return CAIRO_INT_STATUS_ANALYZE_META_SURFACE_PATTERN;
+		} else {
+		    /* FIXME: The analysis surface does not yet have
+		     * the capability to analyze a non opaque meta
+		     * surface and mark it supported if there is
+		     * nothing underneath. For now meta surfaces of
+		     * type CONTENT_COLOR_ALPHA painted with
+		     * OPERATOR_SOURCE will result in a fallback
+		     * image. */
+
+		    return CAIRO_INT_STATUS_UNSUPPORTED;
+		}
 	    } else {
 		return _cairo_pdf_surface_analyze_surface_pattern_transparency (surface,
 										surface_pattern);


More information about the cairo-commit mailing list