SmartPDF - lightweight pdf viewer app for rosapps
[reactos.git] / rosapps / smartpdf / fitz / include / fitz / draw_path.h
1 typedef struct fz_edge_s fz_edge;
2 typedef struct fz_gel_s fz_gel;
3 typedef struct fz_ael_s fz_ael;
4
5 struct fz_edge_s
6 {
7 int x, e, h, y;
8 int adjup, adjdown;
9 int xmove;
10 int xdir, ydir; /* -1 or +1 */
11 };
12
13 struct fz_gel_s
14 {
15 int hs, vs;
16 int xmin, xmax;
17 int ymin, ymax;
18 int cap;
19 int len;
20 fz_edge *edges;
21 };
22
23 struct fz_ael_s
24 {
25 int cap;
26 int len;
27 fz_edge **edges;
28 };
29
30 fz_error *fz_newgel(fz_gel **gelp);
31 fz_error *fz_insertgel(fz_gel *gel, float x0, float y0, float x1, float y1);
32 fz_irect fz_boundgel(fz_gel *gel);
33 void fz_resetgel(fz_gel *gel, int hs, int vs);
34 void fz_sortgel(fz_gel *gel);
35 void fz_dropgel(fz_gel *gel);
36
37 fz_error *fz_newael(fz_ael **aelp);
38 void fz_dropael(fz_ael *ael);
39
40 fz_error *fz_scanconvert(fz_gel *gel, fz_ael *ael, int eofill,
41 fz_irect clip, fz_pixmap *pix, unsigned char *rgb, int over);
42
43 fz_error *fz_fillpath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness);
44 fz_error *fz_strokepath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness);
45 fz_error *fz_dashpath(fz_gel *gel, fz_pathnode *path, fz_matrix ctm, float flatness);
46