mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2025-12-20 15:10:08 +01:00
New helper function to help create an image surface from a PNG file, while taking the srcdir environment variable into consideration. Rename the pattern creating helper function to match. Use new cairo_test_create_surface_from_png so that non-srcdir builds work. Track change in cairo_test_create_pattern_from_png.
42 lines
920 B
C
42 lines
920 B
C
#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_test_create_surface_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);
|
|
}
|