LibGd 2.4.0-dev
GD Graphics library
Loading...
Searching...
No Matches
gd_path.h
1#ifndef GD_PATH_H
2#define GD_PATH_H
3
4#include "gd_vector2d_private.h"
5
6#include <math.h>
7
8gdPathPtr gdPathAddRef(gdPathPtr path);
9
10#ifndef M_PI
11#define M_PI 3.14159265358979323846
12#endif
13#ifndef M_PI2
14#define M_PI2 M_PI * 2
15#endif
16
17#define EPSILON_DOUBLE 0.000000000001f
18#define MAX_FULL_CIRCLES 65536
19#define PATH_KAPPA 0.5522847498
20#define DEFAULT_TOLERANCE 0.1
21static inline int _doubleEqualsEpsilon(double p1, double p2)
22{
23 return (fabs(p1 - p2) < EPSILON_DOUBLE);
24}
25
26static inline int _doubleIsZero(double f) { return (fabs(f) <= EPSILON_DOUBLE); }
27
28#define ARRAY_LENGTH(__array) ((int)(sizeof(__array) / sizeof(__array[0])))
29
30gdPaintPtr gdPaintCreateRgba(double r, double g, double b, double a);
31gdPaintPtr gdPaintAddRef(gdPaintPtr paint);
32
33gdStatePtr gdStateCreate();
34void gdStateDestroy(gdStatePtr state);
35
36gdPathPtr gdPathDuplicateFlattened(const gdPathPtr path);
37void gdPathClear(gdPathPtr path);
38
39gdPaintPtr gdPaintCreateForSurface(gdSurfacePtr surface);
40gdPathPatternPtr gdPaintGetPattern(const gdPaintPtr paint);
41void gdPaintSetSourceSurface(gdContextPtr context, gdSurfacePtr surface, double x, double y);
42void gdPathDumpPathTransform(const gdPathPtr path, const gdPathMatrixPtr matrix);
43#endif // GD_PATH_H
gdContext * gdContextPtr
Opaque 2D drawing context pointer.
Definition gd_vector2d.h:44
gdPaint * gdPaintPtr
Opaque paint source pointer.
Definition gd_vector2d.h:86
gdPathPattern * gdPathPatternPtr
Opaque image pattern pointer.
Definition gd_vector2d.h:106
Affine transformation matrix.
Definition gd_vector2d.h:139