28#include "gd_ft_types.h"
30typedef struct gdPathStruct *gdPathPtr;
66typedef struct GD_FT_BBox_ {
117typedef struct GD_FT_Outline_ {
121 GD_FT_Vector *points;
169#define GD_FT_OUTLINE_NONE 0x0
170#define GD_FT_OUTLINE_OWNER 0x1
171#define GD_FT_OUTLINE_EVEN_ODD_FILL 0x2
172#define GD_FT_OUTLINE_REVERSE_FILL 0x4
176#define GD_FT_CURVE_TAG(flag) (flag & 3)
178#define GD_FT_CURVE_TAG_ON 1
179#define GD_FT_CURVE_TAG_CONIC 0
180#define GD_FT_CURVE_TAG_CUBIC 2
182#define GD_FT_Curve_Tag_On GD_FT_CURVE_TAG_ON
183#define GD_FT_Curve_Tag_Conic GD_FT_CURVE_TAG_CONIC
184#define GD_FT_Curve_Tag_Cubic GD_FT_CURVE_TAG_CUBIC
206typedef struct GD_FT_RasterRec_ *GD_FT_Raster;
234typedef struct GD_FT_Span_ {
238 unsigned char coverage;
278typedef void (*GD_FT_SpanFunc)(
int count,
const GD_FT_Span *spans,
void *user);
280typedef void (*GD_FT_BboxFunc)(
int x,
int y,
int w,
int h,
void *user);
282#define GD_FT_Raster_Span_Func GD_FT_SpanFunc
324#define GD_FT_RASTER_FLAG_DEFAULT 0x0
325#define GD_FT_RASTER_FLAG_AA 0x1
326#define GD_FT_RASTER_FLAG_DIRECT 0x2
327#define GD_FT_RASTER_FLAG_CLIP 0x4
379typedef struct GD_FT_Raster_Params_ {
382 GD_FT_SpanFunc gray_spans;
383 GD_FT_BboxFunc bbox_cb;
387} GD_FT_Raster_Params;
403GD_FT_Error GD_FT_Outline_Check(GD_FT_Outline *outline);
431void GD_FT_Outline_Get_CBox(
const GD_FT_Outline *outline, GD_FT_BBox *acbox);
457typedef int (*GD_FT_Raster_NewFunc)(GD_FT_Raster *raster);
459#define GD_FT_Raster_New_Func GD_FT_Raster_NewFunc
472typedef void (*GD_FT_Raster_DoneFunc)(GD_FT_Raster raster);
474#define GD_FT_Raster_Done_Func GD_FT_Raster_DoneFunc
503typedef void (*GD_FT_Raster_ResetFunc)(GD_FT_Raster raster,
unsigned char *pool_base,
504 unsigned long pool_size);
506#define GD_FT_Raster_Reset_Func GD_FT_Raster_ResetFunc
542typedef int (*GD_FT_Raster_RenderFunc)(GD_FT_Raster raster,
const GD_FT_Raster_Params *params);
544#define GD_FT_Raster_Render_Func GD_FT_Raster_RenderFunc
565typedef struct GD_FT_Raster_Funcs_ {
566 GD_FT_Raster_NewFunc raster_new;
567 GD_FT_Raster_ResetFunc raster_reset;
568 GD_FT_Raster_RenderFunc raster_render;
569 GD_FT_Raster_DoneFunc raster_done;
573extern const GD_FT_Raster_Funcs gd_ft_grays_raster;
576GD_FT_Error gd_ft_raster_render_path(
const gdPathPtr path,
gdPathMatrixPtr matrix,
577 GD_FT_Raster_Params *params,
int outline_flags);
gdPathMatrix * gdPathMatrixPtr
Affine transformation matrix pointer.
Definition gd_vector2d.h:146
Affine transformation matrix.
Definition gd_vector2d.h:139