diff options
author | Vladimir Vukicevic <vladimir@pobox.com> | 2005-07-15 13:45:19 +0000 |
---|---|---|
committer | Vladimir Vukicevic <vladimir@pobox.com> | 2005-07-15 13:45:19 +0000 |
commit | 8ad8aa63605610eaec78cdbfea321148c02be331 (patch) | |
tree | 033030c1d46a0ce4dce883d9cdeaa4e9f2f3e013 /test/composite-integer-translate-source.c | |
parent | 2534057cb5df78eb5aa79c24317e4a97f6c0f2c6 (diff) | |
download | cairo-8ad8aa63605610eaec78cdbfea321148c02be331.tar.gz |
Use XCopyArea when possible, for optimization and bug workaround.
Exercise XCopyArea, XRenderComposite, and XSetTile/XFillRectangle paths for _cairo_xlib_surface_composite
Diffstat (limited to 'test/composite-integer-translate-source.c')
-rw-r--r-- | test/composite-integer-translate-source.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/test/composite-integer-translate-source.c b/test/composite-integer-translate-source.c new file mode 100644 index 000000000..a467f089a --- /dev/null +++ b/test/composite-integer-translate-source.c @@ -0,0 +1,42 @@ +#include <math.h> +#include "cairo-test.h" +#include <stdio.h> + +#define SIZE 100 +#define OFFSET 10 + +const char png_filename[] = "romedalen.png"; + +cairo_test_t test = { + "composite-integer-translate-source", + "Test simple compositing: integer-translation 32->32 SOURCE", + SIZE, SIZE +}; + +static cairo_test_status_t +draw (cairo_t *cr, int width, int height) +{ + cairo_surface_t *image; + + image = cairo_image_surface_create_from_png (png_filename); + + cairo_set_source_rgba (cr, 0, 0, 0, 1); + cairo_rectangle (cr, 0, 0, SIZE, SIZE); + cairo_fill (cr); + + cairo_translate (cr, OFFSET, OFFSET); + cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE); + cairo_set_source_surface (cr, image, 0, 0); + cairo_rectangle (cr, 0, 0, SIZE - OFFSET, SIZE - OFFSET); + cairo_fill (cr); + + cairo_surface_destroy (image); + + return CAIRO_TEST_SUCCESS; +} + +int +main (void) +{ + return cairo_test (&test, draw); +} |