34 #ifndef __HPGS_PAINT_H
35 #define __HPGS_PAINT_H
59 #define HPGS_PAINT_MAX_CLIP_DEPTH 16
137 #define HPGS_BEZIER_NSEGS 16
150 double l[HPGS_BEZIER_NSEGS+1];
151 double dl[HPGS_BEZIER_NSEGS+1];
163 double c2,
double c3,
164 double *cmin,
double *cmax);
204 int points_malloc_size;
HPGS_INTERNAL_API int hpgs_paint_device_clip(hpgs_paint_device *pdv, hpgs_paint_path *path, hpgs_bool winding)
Definition: hpgspaint.c:665
HPGS_INTERNAL_API int hpgs_paint_device_fill(hpgs_paint_device *pdv, hpgs_paint_path *path, hpgs_bool winding, hpgs_bool stroke)
Definition: hpgspaint.c:626
HPGS_INTERNAL_API int hpgs_paint_device_drawimage(hpgs_paint_device *pdv, const hpgs_image *img, const hpgs_point *ll, const hpgs_point *lr, const hpgs_point *ur)
Definition: hpgspaintimage.c:221
HPGS_INTERNAL_API void hpgs_bezier_minmax_comp(double c0, double c1, double c2, double c3, double *cmin, double *cmax)
Definition: hpgsbezier.c:582
HPGS_INTERNAL_API double hpgs_bezier_length_param(const hpgs_bezier_length *b, double l)
Definition: hpgsbezier.c:503
HPGS_INTERNAL_API void hpgs_bezier_length_init(hpgs_bezier_length *b, const hpgs_paint_path *path, int i)
Definition: hpgsbezier.c:473
HPGS_INTERNAL_API int hpgs_paint_clipper_thin_cut(hpgs_paint_clipper *c, hpgs_paint_path *path, const hpgs_gstate *gstate)
Definition: hpgsscanline.c:1255
HPGS_INTERNAL_API hpgs_paint_clipper * hpgs_paint_clipper_clip(const hpgs_paint_clipper *orig, const hpgs_paint_clipper *clip, hpgs_bool winding)
Definition: hpgsscanline.c:2199
HPGS_INTERNAL_API hpgs_paint_clipper * hpgs_new_paint_clipper(const hpgs_bbox *bb, int height, int scanline_msize, int overscan)
Definition: hpgsscanline.c:2595
HPGS_INTERNAL_API int hpgs_paint_clipper_cut(hpgs_paint_clipper *c, hpgs_paint_path *path)
Definition: hpgsscanline.c:1991
HPGS_INTERNAL_API int hpgs_paint_clipper_emit(hpgs_image *image, const hpgs_paint_clipper *img, const hpgs_paint_clipper *clip, const hpgs_paint_color *c, hpgs_bool winding, hpgs_bool stroke)
Definition: hpgsscanline.c:2530
HPGS_INTERNAL_API void hpgs_paint_clipper_clear(hpgs_paint_clipper *c)
Definition: hpgsscanline.c:2696
HPGS_INTERNAL_API int hpgs_paint_clipper_reset(hpgs_paint_clipper *c, double llx, double urx)
Definition: hpgsscanline.c:2654
HPGS_INTERNAL_API void hpgs_paint_clipper_destroy(hpgs_paint_clipper *c)
Definition: hpgsscanline.c:2713
A bounding box.
Definition: hpgs.h:297
A structure for holding intermediate values for length calculations of a bezier spline.
Definition: hpgspaint.h:149
double l[HPGS_BEZIER_NSEGS+1]
Definition: hpgspaint.h:150
double dl[HPGS_BEZIER_NSEGS+1]
Definition: hpgspaint.h:151
A virtual vector graphics device for the HPGL reader.
Definition: hpgs.h:699
The vector graphics state.
Definition: hpgs.h:614
An abstract pixel image.
Definition: hpgs.h:989
A collection of scanlines for mapping paths onto images.
Definition: hpgspaint.h:237
hpgs_paint_scanline * scanlines
Definition: hpgspaint.h:241
double yfac
Definition: hpgspaint.h:251
int iscan0
Definition: hpgspaint.h:258
int height
Definition: hpgspaint.h:256
hpgs_bool overscan
Definition: hpgspaint.h:255
int iscan1
Definition: hpgspaint.h:259
An image RGB color with an optional palette index.
Definition: hpgs.h:283
The pixel rendering vector graphics device.
Definition: hpgspaint.h:78
hpgs_bool overscan
Definition: hpgspaint.h:91
hpgs_gstate * gstate
Definition: hpgspaint.h:109
hpgs_paint_color color
Definition: hpgspaint.h:111
char * filename
Definition: hpgspaint.h:83
hpgs_paint_path * path
Definition: hpgspaint.h:95
hpgs_image * image
Definition: hpgspaint.h:81
int clip_depth
Definition: hpgspaint.h:105
double xres
Definition: hpgspaint.h:88
hpgs_paint_clipper * clippers[HPGS_PAINT_MAX_CLIP_DEPTH]
Definition: hpgspaint.h:100
int image_interpolation
Definition: hpgspaint.h:114
double yres
Definition: hpgspaint.h:89
hpgs_palette_color patcol
Definition: hpgspaint.h:112
hpgs_device inherited
Definition: hpgspaint.h:79
hpgs_paint_clipper * path_clipper
Definition: hpgspaint.h:97
int current_clipper
Definition: hpgspaint.h:104
double thin_alpha
Definition: hpgspaint.h:93
A stored vector path.
Definition: hpgs.h:1138
A scanline of the pixel renderer.
Definition: hpgspaint.h:199
hpgs_scanline_point * points
Definition: hpgspaint.h:203
A screen RGB color as stored in a palette.
Definition: hpgs.h:251
A 2D point.
Definition: hpgs.h:227
An intersection point of a path with a scanline.
Definition: hpgspaint.h:178
double x
Definition: hpgspaint.h:179
int order
Definition: hpgspaint.h:182