1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
1 |
#include <stdio.h> |
2 |
#include <stdlib.h> |
|
3 |
#include "pixman.h" |
|
4 |
#include "gtk-utils.h" |
|
5 |
||
6 |
int
|
|
7 |
main (int argc, char **argv) |
|
8 |
{
|
|
9 |
#define WIDTH 400
|
|
10 |
#define HEIGHT 200
|
|
11 |
||
12 |
uint32_t *dest = malloc (WIDTH * HEIGHT * 4); |
|
13 |
pixman_image_t *src_img; |
|
14 |
pixman_image_t *dest_img; |
|
15 |
int i; |
|
16 |
pixman_gradient_stop_t stops[2] = |
|
17 |
{
|
|
1479
by Søren Sandmann Pedersen
Modify gradient-test to show a bug in NONE processing |
18 |
{ pixman_int_to_fixed (0), { 0x0000, 0x0000, 0xffff, 0xffff } }, |
19 |
{ pixman_int_to_fixed (1), { 0xffff, 0x1111, 0x1111, 0xffff } } |
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
20 |
};
|
1479
by Søren Sandmann Pedersen
Modify gradient-test to show a bug in NONE processing |
21 |
pixman_point_fixed_t p1 = { pixman_double_to_fixed (50), 0 }; |
22 |
pixman_point_fixed_t p2 = { pixman_double_to_fixed (200), 0 }; |
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
23 |
#if 0
|
24 |
pixman_transform_t trans = {
|
|
25 |
{ { pixman_double_to_fixed (2), pixman_double_to_fixed (0.5), pixman_double_to_fixed (-100), },
|
|
26 |
{ pixman_double_to_fixed (0), pixman_double_to_fixed (3), pixman_double_to_fixed (0), },
|
|
27 |
{ pixman_double_to_fixed (0), pixman_double_to_fixed (0.000), pixman_double_to_fixed (1.0) }
|
|
28 |
}
|
|
29 |
};
|
|
30 |
#else
|
|
31 |
pixman_transform_t trans = { |
|
32 |
{ { pixman_fixed_1, 0, 0 }, |
|
33 |
{ 0, pixman_fixed_1, 0 }, |
|
34 |
{ 0, 0, pixman_fixed_1 } } |
|
35 |
};
|
|
36 |
#endif
|
|
37 |
||
1362
by Søren Sandmann
demos: Comment out some unused variables |
38 |
#if 0
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
39 |
pixman_point_fixed_t c_inner;
|
40 |
pixman_point_fixed_t c_outer;
|
|
41 |
pixman_fixed_t r_inner;
|
|
42 |
pixman_fixed_t r_outer;
|
|
1362
by Søren Sandmann
demos: Comment out some unused variables |
43 |
#endif
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
44 |
|
45 |
for (i = 0; i < WIDTH * HEIGHT; ++i) |
|
1479
by Søren Sandmann Pedersen
Modify gradient-test to show a bug in NONE processing |
46 |
dest[i] = 0xff00ff00; |
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
47 |
|
48 |
dest_img = pixman_image_create_bits (PIXMAN_a8r8g8b8, |
|
49 |
WIDTH, HEIGHT, |
|
50 |
dest, |
|
51 |
WIDTH * 4); |
|
52 |
||
1362
by Søren Sandmann
demos: Comment out some unused variables |
53 |
#if 0
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
54 |
c_inner.x = pixman_double_to_fixed (50.0);
|
55 |
c_inner.y = pixman_double_to_fixed (50.0);
|
|
56 |
c_outer.x = pixman_double_to_fixed (50.0);
|
|
57 |
c_outer.y = pixman_double_to_fixed (50.0);
|
|
58 |
r_inner = 0;
|
|
59 |
r_outer = pixman_double_to_fixed (50.0);
|
|
60 |
|
|
61 |
src_img = pixman_image_create_conical_gradient (&c_inner, r_inner,
|
|
62 |
stops, 2);
|
|
1362
by Søren Sandmann
demos: Comment out some unused variables |
63 |
#endif
|
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
64 |
#if 0
|
65 |
src_img = pixman_image_create_conical_gradient (&c_inner, r_inner,
|
|
66 |
stops, 2);
|
|
67 |
src_img = pixman_image_create_linear_gradient (&c_inner, &c_outer,
|
|
68 |
r_inner, r_outer,
|
|
69 |
stops, 2);
|
|
70 |
#endif
|
|
71 |
||
72 |
src_img = pixman_image_create_linear_gradient (&p1, &p2, |
|
73 |
stops, 2); |
|
74 |
||
75 |
pixman_image_set_transform (src_img, &trans); |
|
1479
by Søren Sandmann Pedersen
Modify gradient-test to show a bug in NONE processing |
76 |
pixman_image_set_repeat (src_img, PIXMAN_REPEAT_NONE); |
1278
by Søren Sandmann Pedersen
Move all the GTK+ based test programs to a new subdir, "demos" |
77 |
|
78 |
pixman_image_composite (PIXMAN_OP_OVER, src_img, NULL, dest_img, |
|
79 |
0, 0, 0, 0, 0, 0, 10 * WIDTH, HEIGHT); |
|
80 |
||
81 |
printf ("0, 0: %x\n", dest[0]); |
|
82 |
printf ("10, 10: %x\n", dest[10 * 10 + 10]); |
|
83 |
printf ("w, h: %x\n", dest[(HEIGHT - 1) * 100 + (WIDTH - 1)]); |
|
84 |
||
85 |
show_image (dest_img); |
|
86 |
||
87 |
pixman_image_unref (src_img); |
|
88 |
pixman_image_unref (dest_img); |
|
89 |
free (dest); |
|
90 |
||
91 |
return 0; |
|
92 |
}
|