diff options
author | Tor Andersson <tor@ghostscript.com> | 2004-09-27 02:15:04 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2004-09-27 02:15:04 +0200 |
commit | 6ddde92a3a45e970b05770633dc6a337d5d013c5 (patch) | |
tree | 1dec4612d7469839478e72d16d30a0da5755243c /include/fitz/scanconv.h | |
download | mupdf-6ddde92a3a45e970b05770633dc6a337d5d013c5.tar.xz |
Initial import
Diffstat (limited to 'include/fitz/scanconv.h')
-rw-r--r-- | include/fitz/scanconv.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/include/fitz/scanconv.h b/include/fitz/scanconv.h new file mode 100644 index 00000000..f391a387 --- /dev/null +++ b/include/fitz/scanconv.h @@ -0,0 +1,46 @@ +typedef struct fz_edge_s fz_edge; +typedef struct fz_gel_s fz_gel; +typedef struct fz_ael_s fz_ael; + +struct fz_edge_s +{ + int x, e, h, y; + int adjup, adjdown; + int xmove; + int xdir, ydir; /* -1 or +1 */ +}; + +struct fz_gel_s +{ + int hs, vs; + int xmin, xmax; + int ymin, ymax; + int cap; + int len; + fz_edge *edges; +}; + +struct fz_ael_s +{ + int cap; + int len; + fz_edge **edges; +}; + +fz_error *fz_newgel(fz_gel **gelp); +fz_error *fz_insertgel(fz_gel *gel, float x0, float y0, float x1, float y1); +void fz_resetgel(fz_gel *gel, int hs, int vs); +void fz_sortgel(fz_gel *gel); +void fz_freegel(fz_gel *gel); + +fz_error *fz_newael(fz_ael **aelp); +fz_error *fz_insertael(fz_ael *ael, fz_gel *gel, int y, int *e); +void fz_advanceael(fz_ael *ael); +void fz_freeael(fz_ael *ael); + +fz_error *fz_scanconvert(fz_gel *gel, fz_ael *ael, int eofill); + +fz_error *fz_fillpath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness); +fz_error *fz_strokepath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness); +fz_error *fz_dashpath(fz_gel *gel, fz_path *path, fz_matrix ctm, float flatness); + |