diff options
author | Søren Sandmann Pedersen <ssp@redhat.com> | 2010-11-08 03:53:10 -0500 |
---|---|---|
committer | Søren Sandmann Pedersen <ssp@redhat.com> | 2010-11-08 03:53:10 -0500 |
commit | e6029a6270402ee4240c75aa509c4855d16b7c36 (patch) | |
tree | 2b92d535addc4cfd40d339a1b3306e36a74953c2 /demo.c | |
parent | 595f5962e210b7f0970e2563a8c2f8cf97b082cd (diff) |
qwer
Diffstat (limited to 'demo.c')
-rw-r--r-- | demo.c | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -6,7 +6,6 @@ #include "region-iter.c" static const pixman_rectangle32_t rects[] = { -#if 0 { 0, 50, 200, 100 }, { 250, 0, 200, 100 }, { 500, 0, 50, 350 }, @@ -21,19 +20,31 @@ static const pixman_rectangle32_t rects[] = { { 450, 350, 50, 50 }, { 50, 450, 400, 50 }, { 25, 135, 600, 25 } -#endif }; +#define N_RECTS (sizeof (rects) / sizeof (rects[0])) + static corner_t * make_path (int *n_corners) { corner_t *corners; pixman_region32_t region; int i; + pixman_box32_t *boxes = malloc (N_RECTS * sizeof (pixman_box32_t)); + + for (i = 0; i < N_RECTS; ++i) + { + boxes[i].x1 = rects[i].x; + boxes[i].y1 = rects[i].y; + boxes[i].x2 = rects[i].x + rects[i].width; + boxes[i].y2 = rects[i].y + rects[i].height; + } + region_from_boxes (®ion, boxes, N_RECTS); + pixman_region32_init (®ion); - for (i = 0; i < sizeof (rects) / sizeof (rects[0]); ++i) + for (i = 0; i < N_RECTS; ++i) { pixman_region32_union_rect (®ion, ®ion, 50 + rects[i].x, 50 + rects[i].y, @@ -61,7 +72,7 @@ on_expose (GtkWidget *widget, GdkEvent *event, gpointer data) cr = gdk_cairo_create (widget->window); - for (i = 0; i < sizeof (rects) / sizeof (rects[0]); ++i) + for (i = 0; i < N_RECTS; ++i) { cairo_rectangle (cr, 50 + rects[i].x, 50 + rects[i].y, |