X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxpoly%2Fconvert.h;h=c02e38581f9e726b49c274555ecb4ece72f2babf;hp=688f0165fecfeff384ebe356eb86a1dba123c62d;hb=879d0eec420fe0fd5ddcd56c8fe62b82a6744edd;hpb=66a03382aab040571f94b0861719753bda3ff8f1 diff --git a/lib/gfxpoly/convert.h b/lib/gfxpoly/convert.h index 688f016..c02e385 100644 --- a/lib/gfxpoly/convert.h +++ b/lib/gfxpoly/convert.h @@ -1,8 +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); +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__