diff options
Diffstat (limited to 'src/cairo-tests/image.cpp')
| -rw-r--r-- | src/cairo-tests/image.cpp | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/src/cairo-tests/image.cpp b/src/cairo-tests/image.cpp index a66c0a5..3a1baf3 100644 --- a/src/cairo-tests/image.cpp +++ b/src/cairo-tests/image.cpp @@ -9,20 +9,25 @@ static cairo_surface_t *image; int ca_setup_image(caskbench_context_t *ctx) { - cairo_t *cr_image; int i, x, y; - image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 100, 100); - cr_image = cairo_create(image); + cairo_t *cr_image; + + image = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, 160, 40); + cr_image = cairo_create (image); cairo_set_source_surface (cr_image, image, 0, 0); - x = y = 5; + x = 5; for (i=0; i<16; i++) { - x += 5; - y += 5; - cairo_set_source_rgba (cr_image, 1.0, 1.0/(i+1), 1.0, 16*i/255.0); - cairo_rectangle(cr_image, x, y, 20, 20); + x += 10; + y = (i%2)*10; + + cairo_set_source_rgba (cr_image, 1.0/(i+1), 1.0, 16.0*i/255.0, 1.0); + cairo_rectangle (cr_image, x, y, 10, 10); + cairo_fill (cr_image); } + cairo_destroy (cr_image); + return 1; } @@ -35,10 +40,14 @@ ca_teardown_image(void) int ca_test_image(caskbench_context_t* ctx) { - int i; + int i, x, y; cairo_t *cr = ctx->cairo_cr; - for (i=0; i<ctx->size; i++) + for (i=0; i<ctx->size; i++) { + y = 50 * (int)(i/4); + x = 200 * (i%4); + cairo_set_source_surface (cr, image, x, y); cairo_paint (cr); + } return 1; } |