From 990bc3f015a4f8fce2eb918375defcd44980a845 Mon Sep 17 00:00:00 2001 From: marha Date: Fri, 8 Jun 2012 09:33:13 +0200 Subject: Used synchronise script to update files --- pixman/test/region-test.c | 246 +++++++++++++++++++++++----------------------- 1 file changed, 123 insertions(+), 123 deletions(-) (limited to 'pixman/test/region-test.c') diff --git a/pixman/test/region-test.c b/pixman/test/region-test.c index 9d5a41eb9..a1fc4a837 100644 --- a/pixman/test/region-test.c +++ b/pixman/test/region-test.c @@ -1,123 +1,123 @@ -#include -#include -#include -#include "utils.h" - -int -main () -{ - pixman_region32_t r1; - pixman_region32_t r2; - pixman_region32_t r3; - pixman_box32_t boxes[] = { - { 10, 10, 20, 20 }, - { 30, 30, 30, 40 }, - { 50, 45, 60, 44 }, - }; - pixman_box32_t boxes2[] = { - { 2, 6, 7, 6 }, - { 4, 1, 6, 7 }, - }; - pixman_box32_t boxes3[] = { - { 2, 6, 7, 6 }, - { 4, 1, 6, 1 }, - }; - int i, j; - pixman_box32_t *b; - pixman_image_t *image, *fill; - pixman_color_t white = { - 0xffff, - 0xffff, - 0xffff, - 0xffff - }; - - /* This used to go into an infinite loop before pixman-region.c - * was fixed to not use explict "short" variables - */ - pixman_region32_init_rect (&r1, 0, 0, 20, 64000); - pixman_region32_init_rect (&r2, 0, 0, 20, 64000); - pixman_region32_init_rect (&r3, 0, 0, 20, 64000); - - pixman_region32_subtract (&r1, &r2, &r3); - - - /* This would produce a region containing an empty - * rectangle in it. Such regions are considered malformed, - * but using an empty rectangle for initialization should - * work. - */ - pixman_region32_init_rects (&r1, boxes, 3); - - b = pixman_region32_rectangles (&r1, &i); - - assert (i == 1); - - while (i--) - { - assert (b[i].x1 < b[i].x2); - assert (b[i].y1 < b[i].y2); - } - - /* This would produce a rectangle containing the bounding box - * of the two rectangles. The correct result is to eliminate - * the broken rectangle. - */ - pixman_region32_init_rects (&r1, boxes2, 2); - - b = pixman_region32_rectangles (&r1, &i); - - assert (i == 1); - - assert (b[0].x1 == 4); - assert (b[0].y1 == 1); - assert (b[0].x2 == 6); - assert (b[0].y2 == 7); - - /* This should produce an empty region */ - pixman_region32_init_rects (&r1, boxes3, 2); - - b = pixman_region32_rectangles (&r1, &i); - - assert (i == 0); - - fill = pixman_image_create_solid_fill (&white); - for (i = 0; i < 100; i++) - { - int image_size = 128; - - pixman_region32_init (&r1); - - /* Add some random rectangles */ - for (j = 0; j < 64; j++) - pixman_region32_union_rect (&r1, &r1, - lcg_rand_n (image_size), - lcg_rand_n (image_size), - lcg_rand_n (25), - lcg_rand_n (25)); - - /* Clip to image size */ - pixman_region32_init_rect (&r2, 0, 0, image_size, image_size); - pixman_region32_intersect (&r1, &r1, &r2); - pixman_region32_fini (&r2); - - /* render region to a1 mask */ - image = pixman_image_create_bits (PIXMAN_a1, image_size, image_size, NULL, 0); - pixman_image_set_clip_region32 (image, &r1); - pixman_image_composite32 (PIXMAN_OP_SRC, - fill, NULL, image, - 0, 0, 0, 0, 0, 0, - image_size, image_size); - pixman_region32_init_from_image (&r2, image); - - pixman_image_unref (image); - - assert (pixman_region32_equal (&r1, &r2)); - pixman_region32_fini (&r1); - pixman_region32_fini (&r2); - - } - pixman_image_unref (fill); - - return 0; -} +#include +#include +#include +#include "utils.h" + +int +main () +{ + pixman_region32_t r1; + pixman_region32_t r2; + pixman_region32_t r3; + pixman_box32_t boxes[] = { + { 10, 10, 20, 20 }, + { 30, 30, 30, 40 }, + { 50, 45, 60, 44 }, + }; + pixman_box32_t boxes2[] = { + { 2, 6, 7, 6 }, + { 4, 1, 6, 7 }, + }; + pixman_box32_t boxes3[] = { + { 2, 6, 7, 6 }, + { 4, 1, 6, 1 }, + }; + int i, j; + pixman_box32_t *b; + pixman_image_t *image, *fill; + pixman_color_t white = { + 0xffff, + 0xffff, + 0xffff, + 0xffff + }; + + /* This used to go into an infinite loop before pixman-region.c + * was fixed to not use explict "short" variables + */ + pixman_region32_init_rect (&r1, 0, 0, 20, 64000); + pixman_region32_init_rect (&r2, 0, 0, 20, 64000); + pixman_region32_init_rect (&r3, 0, 0, 20, 64000); + + pixman_region32_subtract (&r1, &r2, &r3); + + + /* This would produce a region containing an empty + * rectangle in it. Such regions are considered malformed, + * but using an empty rectangle for initialization should + * work. + */ + pixman_region32_init_rects (&r1, boxes, 3); + + b = pixman_region32_rectangles (&r1, &i); + + assert (i == 1); + + while (i--) + { + assert (b[i].x1 < b[i].x2); + assert (b[i].y1 < b[i].y2); + } + + /* This would produce a rectangle containing the bounding box + * of the two rectangles. The correct result is to eliminate + * the broken rectangle. + */ + pixman_region32_init_rects (&r1, boxes2, 2); + + b = pixman_region32_rectangles (&r1, &i); + + assert (i == 1); + + assert (b[0].x1 == 4); + assert (b[0].y1 == 1); + assert (b[0].x2 == 6); + assert (b[0].y2 == 7); + + /* This should produce an empty region */ + pixman_region32_init_rects (&r1, boxes3, 2); + + b = pixman_region32_rectangles (&r1, &i); + + assert (i == 0); + + fill = pixman_image_create_solid_fill (&white); + for (i = 0; i < 100; i++) + { + int image_size = 128; + + pixman_region32_init (&r1); + + /* Add some random rectangles */ + for (j = 0; j < 64; j++) + pixman_region32_union_rect (&r1, &r1, + lcg_rand_n (image_size), + lcg_rand_n (image_size), + lcg_rand_n (25), + lcg_rand_n (25)); + + /* Clip to image size */ + pixman_region32_init_rect (&r2, 0, 0, image_size, image_size); + pixman_region32_intersect (&r1, &r1, &r2); + pixman_region32_fini (&r2); + + /* render region to a1 mask */ + image = pixman_image_create_bits (PIXMAN_a1, image_size, image_size, NULL, 0); + pixman_image_set_clip_region32 (image, &r1); + pixman_image_composite32 (PIXMAN_OP_SRC, + fill, NULL, image, + 0, 0, 0, 0, 0, 0, + image_size, image_size); + pixman_region32_init_from_image (&r2, image); + + pixman_image_unref (image); + + assert (pixman_region32_equal (&r1, &r2)); + pixman_region32_fini (&r1); + pixman_region32_fini (&r2); + + } + pixman_image_unref (fill); + + return 0; +} -- cgit v1.2.3