summaryrefslogtreecommitdiff
path: root/test/any2ppm.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/any2ppm.c')
-rw-r--r--test/any2ppm.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/any2ppm.c b/test/any2ppm.c
index 31dd0eb4b..f35891fbe 100644
--- a/test/any2ppm.c
+++ b/test/any2ppm.c
@@ -240,7 +240,20 @@ _create_image (void *closure,
//csi_object_t *dictionary)
{
cairo_surface_t **out = closure;
- *out = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height);
+ cairo_format_t format;
+ switch (content) {
+ case CAIRO_CONTENT_ALPHA:
+ format = CAIRO_FORMAT_A8;
+ break;
+ case CAIRO_CONTENT_COLOR:
+ format = CAIRO_FORMAT_RGB24;
+ break;
+ default:
+ case CAIRO_CONTENT_COLOR_ALPHA:
+ format = CAIRO_FORMAT_ARGB32;
+ break;
+ }
+ *out = cairo_image_surface_create (format, width, height);
return cairo_surface_reference (*out);
}