summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2009-09-22 18:20:03 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2009-09-22 18:20:03 +0100
commit9948b5180aa4312b3184d9ba46e9ad6f0d8e700c (patch)
treebf0723ffa6a74493ba213c0d28644d4ae63e86fc
parent941d3693fac831c4ce8c61cbac7c77b566b97611 (diff)
[test] Revamp surface-source
Include a translucent region in the source that exercises the xlib bug that I'm trying to fix. Hmm.
-rw-r--r--test/Makefile.am18
-rw-r--r--test/glitz-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/glitz-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/glitz-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/image-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/image-surface-source.ref.pngbin332 -> 0 bytes
-rw-r--r--test/image-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/pdf-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/pdf-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/pdf-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/ps-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/ps-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/ps-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/quartz-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/quartz-surface-source.ref.pngbin332 -> 0 bytes
-rw-r--r--test/quartz-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/surface-source.c37
-rw-r--r--test/svg-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/svg-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/svg-surface-source.rgb24.ref.pngbin0 -> 301 bytes
-rw-r--r--test/test-fallback16-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/xlib-surface-source.argb32.ref.pngbin0 -> 377 bytes
-rw-r--r--test/xlib-surface-source.ref.pngbin268 -> 0 bytes
-rw-r--r--test/xlib-surface-source.rgb24.ref.pngbin0 -> 301 bytes
24 files changed, 47 insertions, 8 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index 04280520..b8174f65 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -548,7 +548,8 @@ REFERENCE_IMAGES = \
huge-radial.ref.png \
image-surface-source.ps2.ref.png \
image-surface-source.ps3.ref.png \
- image-surface-source.ref.png \
+ image-surface-source.rgb24.ref.png \
+ image-surface-source.argb32.ref.png \
image-surface-source.svg12.argb32.xfail.png \
image-surface-source.svg12.rgb24.xfail.png \
implicit-close.ref.png \
@@ -747,12 +748,14 @@ REFERENCE_IMAGES = \
path-append.xlib-fallback.ref.png \
path-append.xlib.ref.png \
pattern-getters.ref.png \
- pdf-surface-source.ref.png \
+ pdf-surface-source.rgb24.ref.png \
+ pdf-surface-source.argb32.ref.png \
pdf-surface-source.svg12.argb32.xfail.png \
pdf-surface-source.svg12.rgb24.xfail.png \
pixman-rotate.ref.png \
pixman-rotate.rgb24.ref.png \
- ps-surface-source.ref.png \
+ ps-surface-source.rgb24.ref.png \
+ ps-surface-source.argb32.ref.png \
ps-surface-source.svg12.argb32.xfail.png \
ps-surface-source.svg12.rgb24.xfail.png \
push-group.ref.png \
@@ -761,9 +764,10 @@ REFERENCE_IMAGES = \
push-group.xlib.rgb24.ref.png \
push-group-color.ref.png \
push-group-color.xlib.ref.png \
+ quartz-surface-source.rgb24.ref.png \
+ quartz-surface-source.argb32.ref.png \
quartz-surface-source.ps2.ref.png \
quartz-surface-source.ps3.ref.png \
- quartz-surface-source.ref.png \
radial-gradient.pdf.ref.png \
radial-gradient.quartz.ref.png \
radial-gradient.ref.png \
@@ -922,7 +926,8 @@ REFERENCE_IMAGES = \
surface-pattern.ps.xfail.png \
surface-pattern.ref.png \
surface-pattern.svg.xfail.png \
- svg-surface-source.ref.png \
+ svg-surface-source.rgb24.ref.png \
+ svg-surface-source.argb32.ref.png \
svg-surface-source.svg12.argb32.xfail.png \
svg-surface-source.svg12.rgb24.xfail.png \
test-fallback16-surface-source.ps.ref.png \
@@ -1023,9 +1028,10 @@ REFERENCE_IMAGES = \
user-font.svg.ref.png \
user-font.xlib.ref.png \
xlib-expose-event.ref.png \
+ xlib-surface-source.rgb24.ref.png \
+ xlib-surface-source.argb32.ref.png \
xlib-surface-source.ps2.ref.png \
xlib-surface-source.ps3.ref.png \
- xlib-surface-source.ref.png \
xlib-surface-source.svg12.argb32.xfail.png \
xlib-surface-source.svg12.rgb24.xfail.png \
zero-alpha.ref.png
diff --git a/test/glitz-surface-source.argb32.ref.png b/test/glitz-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/glitz-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/glitz-surface-source.ref.png b/test/glitz-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/glitz-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/glitz-surface-source.rgb24.ref.png b/test/glitz-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/glitz-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/image-surface-source.argb32.ref.png b/test/image-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/image-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/image-surface-source.ref.png b/test/image-surface-source.ref.png
deleted file mode 100644
index 9fbbedd5..00000000
--- a/test/image-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/image-surface-source.rgb24.ref.png b/test/image-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/image-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/pdf-surface-source.argb32.ref.png b/test/pdf-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/pdf-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/pdf-surface-source.ref.png b/test/pdf-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/pdf-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/pdf-surface-source.rgb24.ref.png b/test/pdf-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/pdf-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/ps-surface-source.argb32.ref.png b/test/ps-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/ps-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/ps-surface-source.ref.png b/test/ps-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/ps-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/ps-surface-source.rgb24.ref.png b/test/ps-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/ps-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/quartz-surface-source.argb32.ref.png b/test/quartz-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/quartz-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/quartz-surface-source.ref.png b/test/quartz-surface-source.ref.png
deleted file mode 100644
index 9fbbedd5..00000000
--- a/test/quartz-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/quartz-surface-source.rgb24.ref.png b/test/quartz-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/quartz-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/surface-source.c b/test/surface-source.c
index 5d978f23..bd047c97 100644
--- a/test/surface-source.c
+++ b/test/surface-source.c
@@ -34,16 +34,22 @@ static cairo_surface_t *create_source_surface (int size);
*/
#define SOURCE_SIZE 2000
#define INTER_SIZE 512
-#define SIZE 90
+#define SIZE 96
static void
draw_pattern (cairo_surface_t **surface_inout, int surface_size)
{
cairo_t *cr;
+ int mid = surface_size/2;
cr = cairo_create (*surface_inout);
cairo_surface_destroy (*surface_inout);
+ cairo_rectangle (cr, 0, 0, surface_size, surface_size);
+ cairo_rectangle (cr, mid - SIZE/4, mid + SIZE/4, SIZE/2, -SIZE/2);
+ cairo_clip (cr);
+
+ /* outside squares -> opaque */
cairo_set_source_rgb (cr, 1, 1, 1);
cairo_rectangle (cr,
0, 0,
@@ -65,6 +71,33 @@ draw_pattern (cairo_surface_t **surface_inout, int surface_size)
surface_size / 2, surface_size / 2);
cairo_fill (cr);
+ cairo_reset_clip (cr);
+ cairo_rectangle (cr, mid - SIZE/4, mid - SIZE/4, SIZE/2, SIZE/2);
+ cairo_clip (cr);
+
+ /* inside squares -> translucent */
+ cairo_set_source_rgba (cr, 0, 0, 1, .5);
+ cairo_rectangle (cr,
+ 0, 0,
+ surface_size / 2, surface_size / 2);
+ cairo_fill (cr);
+ cairo_set_source_rgba (cr, 0, 1, 0, .5);
+ cairo_rectangle (cr,
+ surface_size / 2, 0,
+ surface_size / 2, surface_size / 2);
+ cairo_fill (cr);
+ cairo_set_source_rgba (cr, 1, 0, 0, .5);
+ cairo_rectangle (cr,
+ 0, surface_size / 2,
+ surface_size / 2, surface_size / 2);
+ cairo_fill (cr);
+ cairo_set_source_rgba (cr, 1, 1, 1, .5);
+ cairo_rectangle (cr,
+ surface_size / 2, surface_size / 2,
+ surface_size / 2, surface_size / 2);
+ cairo_fill (cr);
+
+
*surface_inout = cairo_surface_reference (cairo_get_target (cr));
cairo_destroy (cr);
}
@@ -101,7 +134,7 @@ draw (cairo_t *cr, int width, int height)
(width - INTER_SIZE)/2,
(height - INTER_SIZE)/2);
cairo_destroy (cr2);
- cairo_rectangle (cr, 15, 15, 60, 60);
+ cairo_rectangle (cr, 16, 16, 64, 64);
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
cairo_fill (cr);
diff --git a/test/svg-surface-source.argb32.ref.png b/test/svg-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/svg-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/svg-surface-source.ref.png b/test/svg-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/svg-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/svg-surface-source.rgb24.ref.png b/test/svg-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/svg-surface-source.rgb24.ref.png
Binary files differ
diff --git a/test/test-fallback16-surface-source.ref.png b/test/test-fallback16-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/test-fallback16-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/xlib-surface-source.argb32.ref.png b/test/xlib-surface-source.argb32.ref.png
new file mode 100644
index 00000000..01829720
--- /dev/null
+++ b/test/xlib-surface-source.argb32.ref.png
Binary files differ
diff --git a/test/xlib-surface-source.ref.png b/test/xlib-surface-source.ref.png
deleted file mode 100644
index 3fa8bbe5..00000000
--- a/test/xlib-surface-source.ref.png
+++ /dev/null
Binary files differ
diff --git a/test/xlib-surface-source.rgb24.ref.png b/test/xlib-surface-source.rgb24.ref.png
new file mode 100644
index 00000000..0d68a82c
--- /dev/null
+++ b/test/xlib-surface-source.rgb24.ref.png
Binary files differ