[cairo-commit] 3 commits - boilerplate/Makefile.am src/cairo-pdf-surface.c src/cairo-ps-surface.c test/Makefile.am

Behdad Esfahbod behdad at kemper.freedesktop.org
Thu Mar 1 16:23:00 PST 2007


 boilerplate/Makefile.am |    3 ++-
 src/cairo-pdf-surface.c |   12 +++++++-----
 src/cairo-ps-surface.c  |   12 +++++++-----
 test/Makefile.am        |    5 +++--
 4 files changed, 19 insertions(+), 13 deletions(-)

New commits:
diff-tree ec11ca33a7ebcc752218e63c57f861de6e23a86a (from 4ee6cda6e5e69361d3ca247322c92d0ae30e0458)
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Mar 1 19:14:40 2007 -0500

    [PS/PDF] Mark CAIRO_EXTEND_PAD for surface patterns as natively supported
    since the image surface does not implement that case either, so image
    fallbacks have no benefit.

diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c
index 611c7c7..4b47a72 100644
--- a/src/cairo-pdf-surface.c
+++ b/src/cairo-pdf-surface.c
@@ -903,6 +903,8 @@ emit_surface_pattern (cairo_pdf_surface_
     _cairo_surface_get_extents (&surface->base, &surface_extents);
 
     switch (extend) {
+    /* We implement EXTEND_PAD like EXTEND_NONE for now */
+    case CAIRO_EXTEND_PAD:
     case CAIRO_EXTEND_NONE:
         {
 	    /* In PS/PDF, (as far as I can tell), all patterns are
@@ -936,9 +938,8 @@ emit_surface_pattern (cairo_pdf_surface_
 	xstep = image->width;
 	ystep = image->height;
 	break;
-    /* All the rest should have been analyzed away, so this case
-     * should be unreachable. */
-    case CAIRO_EXTEND_PAD:
+    /* All the rest (if any) should have been analyzed away, so this
+     * case should be unreachable. */
     default:
 	ASSERT_NOT_REACHED;
 	xstep = 0;
@@ -2568,9 +2569,10 @@ _surface_pattern_supported (cairo_surfac
     case CAIRO_EXTEND_NONE:
     case CAIRO_EXTEND_REPEAT:
     case CAIRO_EXTEND_REFLECT:
-	return TRUE;
+    /* There's no point returning FALSE for EXTEND_PAD, as the image
+     * surface does not currently implement it either */
     case CAIRO_EXTEND_PAD:
-	return FALSE;
+	return TRUE;
     }
 
     ASSERT_NOT_REACHED;
diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c
index ac07395..f971cf7 100644
--- a/src/cairo-ps-surface.c
+++ b/src/cairo-ps-surface.c
@@ -1356,9 +1356,10 @@ surface_pattern_supported (const cairo_s
     case CAIRO_EXTEND_NONE:
     case CAIRO_EXTEND_REPEAT:
     case CAIRO_EXTEND_REFLECT:
-	return TRUE;
+    /* There's no point returning FALSE for EXTEND_PAD, as the image
+     * surface does not currently implement it either */
     case CAIRO_EXTEND_PAD:
-	return FALSE;
+	return TRUE;
     }
 
     ASSERT_NOT_REACHED;
@@ -1733,6 +1734,8 @@ emit_surface_pattern (cairo_ps_surface_t
 	bbox_height = image->height;
 
 	switch (pattern->base.extend) {
+	/* We implement EXTEND_PAD like EXTEND_NONE for now */
+	case CAIRO_EXTEND_PAD:
 	case CAIRO_EXTEND_NONE:
 	{
 	    /* In PS/PDF, (as far as I can tell), all patterns are
@@ -1766,9 +1769,8 @@ emit_surface_pattern (cairo_ps_surface_t
 	    xstep = image->width;
 	    ystep = image->height;
 	    break;
-	/* All the rest should have been analyzed away, so these cases
-	 * should be unreachable. */
-	case CAIRO_EXTEND_PAD:
+	/* All the rest (if any) should have been analyzed away, so these
+	 * cases should be unreachable. */
 	default:
 	    ASSERT_NOT_REACHED;
 	    xstep = 0;
diff-tree 4ee6cda6e5e69361d3ca247322c92d0ae30e0458 (from ff06ea1abf2dcfe28a4c1f192782bc85aebfdd92)
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Mar 1 19:13:19 2007 -0500

    [test] Move .la dependencies around

diff --git a/test/Makefile.am b/test/Makefile.am
index 1d1a796..9e75e58 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -406,12 +406,13 @@ libcairotest_la_SOURCES =\
 	buffer-diff.h	\
 	cairo-test.c	\
 	cairo-test.h
-
-LDADD = libcairotest.la \
+libcairotest_la_LIBADD =\
 	$(top_builddir)/test/pdiff/libpdiff.la \
         $(top_builddir)/boilerplate/libcairoboilerplate.la \
 	$(top_builddir)/src/libcairo.la
 
+LDADD = libcairotest.la
+
 $(top_builddir)/boilerplate/libcairoboilerplate.la:
 	cd $(top_builddir)/boilerplate && $(MAKE) $(AM_MAKEFLAGS) libcairoboilerplate.la
 
diff-tree ff06ea1abf2dcfe28a4c1f192782bc85aebfdd92 (from 4b1f450f4cf056b4cc28502dcf72eaf54f257c3a)
Author: Behdad Esfahbod <behdad at behdad.org>
Date:   Thu Mar 1 19:12:58 2007 -0500

    [boilerplate] Add correct dependency on libcairo.la

diff --git a/boilerplate/Makefile.am b/boilerplate/Makefile.am
index 81ae000..21423e0 100644
--- a/boilerplate/Makefile.am
+++ b/boilerplate/Makefile.am
@@ -1,10 +1,12 @@
 noinst_LTLIBRARIES = libcairoboilerplate.la
 
+
 libcairoboilerplate_la_SOURCES =\
 cairo-boilerplate.c	\
 cairo-boilerplate.h	\
 xmalloc.c		\
 xmalloc.h
+libcairoboilerplate_la_LIBADD = $(top_builddir)/src/libcairo.la
 
 if CAIRO_HAS_BEOS_SURFACE
 libcairoboilerplate_la_SOURCES += cairo-test-beos.cpp cairo-test-beos.h
@@ -16,7 +18,6 @@ if CAIRO_HAS_DIRECTFB_SURFACE
 libcairoboilerplate_la_SOURCES += cairo-test-directfb.c cairo-test-directfb.h
 endif
 
-libcairoboilerplate_la_LIBADD =
 if CAIRO_CAN_TEST_GLITZ_AGL_SURFACE
 libcairoboilerplate_la_LIBADD += $(GLITZ_AGL_LIBS)
 endif


More information about the cairo-commit mailing list