4#include "gd_compositor.h"
5#include "gd_vector2d_private.h"
9#define GD_GRADIENT_LUT_SIZE 1024
11typedef enum { GD_GRADIENT_LINEAR, GD_GRADIENT_RADIAL } gdGradientKind;
19struct gdGradientStruct {
25 size_t stop_count, stop_capacity;
26 uint64_t next_sequence;
27 gdPremulPixelF lut[GD_GRADIENT_LUT_SIZE];
30 double x0, y0, dx, dy, inverse_length_squared, scale;
33 double x0, y0, r0, x1, y1, r1, cdx, cdy, dr, quadratic_a, scale;
38void gdGradientDestroy(gdGradient *gradient);
39int gdExtendFold(
double raw,
gdExtendMode mode,
double *folded);
40gdPremulPixelF gdGradientSample(
const gdGradient *gradient,
const gdPathMatrix *device_to_pattern,
41 double device_x,
double device_y);
gdExtendMode
Definition gd_vector2d.h:181
Affine transformation matrix.
Definition gd_vector2d.h:139