[test] Revamp surface-source
Include a translucent region in the source that exercises the xlib bug that I'm trying to fix. Hmm.
|
|
@ -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
|
||||
|
|
|
|||
BIN
test/glitz-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/glitz-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
test/image-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 332 B |
BIN
test/image-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
test/pdf-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/pdf-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
test/ps-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/ps-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
BIN
test/quartz-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 332 B |
BIN
test/quartz-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
BIN
test/svg-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/svg-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/xlib-surface-source.argb32.ref.png
Normal file
|
After Width: | Height: | Size: 377 B |
|
Before Width: | Height: | Size: 268 B |
BIN
test/xlib-surface-source.rgb24.ref.png
Normal file
|
After Width: | Height: | Size: 301 B |