X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxpoly%2Fconvert.h;h=c02e38581f9e726b49c274555ecb4ece72f2babf;hp=d1d5344a1c05c52e2fceddab25b6b1a50ef08548;hb=879d0eec420fe0fd5ddcd56c8fe62b82a6744edd;hpb=c41f4433d3e721073c60d55cd923a087761e45f7 diff --git a/lib/gfxpoly/convert.h b/lib/gfxpoly/convert.h index d1d5344..c02e385 100644 --- a/lib/gfxpoly/convert.h +++ b/lib/gfxpoly/convert.h @@ -1,9 +1,30 @@ #ifndef __poly_convert_h__ #define __poly_convert_h__ +#include "../gfxdevice.h" +#include "../gfxtools.h" #include "poly.h" -gfxpoly_t* gfxpoly_fillToPoly(gfxline_t*line, double gridsize); +typedef struct _polywriter +{ + void(*moveto)(struct _polywriter*, int32_t x, int32_t y); + void(*lineto)(struct _polywriter*, int32_t x, int32_t y); + void(*setgridsize)(struct _polywriter*, double g); + void*(*finish)(struct _polywriter*); + void*internal; +} polywriter_t; + +void gfxdrawer_target_poly(gfxdrawer_t*d, double gridsize); + +void gfxpolywriter_init(polywriter_t*w); +gfxpoly_t* gfxpoly_from_fill(gfxline_t*line, double gridsize); gfxpoly_t* gfxpoly_from_file(const char*filename, double gridsize); +void gfxpoly_destroy(gfxpoly_t*poly); + +gfxline_t*gfxline_from_gfxpoly(gfxpoly_t*poly); +gfxline_t*gfxline_from_gfxpoly_with_direction(gfxpoly_t*poly); // preserves up/down + +gfxline_t* gfxpoly_circular_to_evenodd(gfxline_t*line, double gridsize); +gfxpoly_t* gfxpoly_createbox(double x1, double y1,double x2, double y2, double gridsize); #endif //__poly_convert_h__