|
Packit |
030a23 |
#include <math.h>
|
|
Packit |
030a23 |
#include <stdio.h>
|
|
Packit |
030a23 |
#include <stdlib.h>
|
|
Packit |
030a23 |
#include "utils.h"
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
#define WIDTH 100
|
|
Packit |
030a23 |
#define HEIGHT 100
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
int
|
|
Packit |
030a23 |
main ()
|
|
Packit |
030a23 |
{
|
|
Packit |
030a23 |
pixman_image_t *radial;
|
|
Packit |
030a23 |
pixman_image_t *dest = pixman_image_create_bits (
|
|
Packit |
030a23 |
PIXMAN_a8r8g8b8, WIDTH, HEIGHT, NULL, -1);
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
static const pixman_transform_t xform =
|
|
Packit |
030a23 |
{
|
|
Packit |
030a23 |
{ { 0x346f7, 0x0, 0x0 },
|
|
Packit |
030a23 |
{ 0x0, 0x346f7, 0x0 },
|
|
Packit |
030a23 |
{ 0x0, 0x0, 0x10000 }
|
|
Packit |
030a23 |
},
|
|
Packit |
030a23 |
};
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
static const pixman_gradient_stop_t stops[] =
|
|
Packit |
030a23 |
{
|
|
Packit |
030a23 |
{ 0xde61, { 0x4481, 0x96e8, 0x1e6a, 0x29e1 } },
|
|
Packit |
030a23 |
{ 0xfdd5, { 0xfa10, 0xcc26, 0xbc43, 0x1eb7 } },
|
|
Packit |
030a23 |
{ 0xfe1e, { 0xd257, 0x5bac, 0x6fc2, 0xa33b } },
|
|
Packit |
030a23 |
};
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
static const pixman_point_fixed_t inner = { 0x320000, 0x320000 };
|
|
Packit |
030a23 |
static const pixman_point_fixed_t outer = { 0x320000, 0x3cb074 };
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
enable_divbyzero_exceptions ();
|
|
Packit |
030a23 |
enable_invalid_exceptions ();
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
radial = pixman_image_create_radial_gradient (
|
|
Packit |
030a23 |
&inner,
|
|
Packit |
030a23 |
&outer,
|
|
Packit |
030a23 |
0xab074, /* inner radius */
|
|
Packit |
030a23 |
0x0, /* outer radius */
|
|
Packit |
030a23 |
stops, sizeof (stops) / sizeof (stops[0]));
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
pixman_image_set_repeat (radial, PIXMAN_REPEAT_REFLECT);
|
|
Packit |
030a23 |
pixman_image_set_transform (radial, &xform);
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
pixman_image_composite (
|
|
Packit |
030a23 |
PIXMAN_OP_OVER,
|
|
Packit |
030a23 |
radial, NULL, dest,
|
|
Packit |
030a23 |
0, 0, 0, 0,
|
|
Packit |
030a23 |
0, 0, WIDTH, HEIGHT);
|
|
Packit |
030a23 |
|
|
Packit |
030a23 |
return 0;
|
|
Packit |
030a23 |
}
|