| #include "../test/utils.h" |
| #include "gtk-utils.h" |
| |
| #define WIDTH 1024 |
| #define HEIGHT 640 |
| |
| int |
| main (int argc, char **argv) |
| { |
| pixman_image_t *src_img, *dest_img; |
| pixman_gradient_stop_t stops[] = { |
| { 0x00000, { 0x0000, 0x0000, 0x4444, 0xdddd } }, |
| { 0x10000, { 0xeeee, 0xeeee, 0x8888, 0xdddd } }, |
| #if 0 |
| /* These colors make it very obvious that dithering |
| * is useful even for 8-bit gradients |
| */ |
| { 0x00000, { 0x6666, 0x3333, 0x3333, 0xffff } }, |
| { 0x10000, { 0x3333, 0x6666, 0x6666, 0xffff } }, |
| #endif |
| }; |
| pixman_point_fixed_t p1, p2; |
| |
| enable_divbyzero_exceptions (); |
| |
| dest_img = pixman_image_create_bits (PIXMAN_x8r8g8b8, |
| WIDTH, HEIGHT, |
| NULL, 0); |
| |
| p1.x = p1.y = 0x0000; |
| p2.x = WIDTH << 16; |
| p2.y = HEIGHT << 16; |
| |
| src_img = pixman_image_create_linear_gradient (&p1, &p2, stops, ARRAY_LENGTH (stops)); |
| |
| pixman_image_composite32 (PIXMAN_OP_OVER, |
| src_img, |
| NULL, |
| dest_img, |
| 0, 0, |
| 0, 0, |
| 0, 0, |
| WIDTH, HEIGHT); |
| |
| show_image (dest_img); |
| |
| pixman_image_unref (dest_img); |
| |
| return 0; |
| } |