X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fgfxtools.h;h=ff282a3938a3c95ccc482be29452323cf834dc01;hb=0e9d27093c3e6e8e316fbc08bb9d422d74da2fd1;hp=b0f9ce8e44c081462a7c5ea581b5bdbcb91f9471;hpb=cb7a8d34e7e1163897e5c11e36f805ced9bba5dc;p=swftools.git diff --git a/lib/gfxtools.h b/lib/gfxtools.h index b0f9ce8..ff282a3 100644 --- a/lib/gfxtools.h +++ b/lib/gfxtools.h @@ -38,6 +38,7 @@ typedef struct _gfxdrawer void (*moveTo)(struct _gfxdrawer*d, gfxcoord_t x, gfxcoord_t y); void (*lineTo)(struct _gfxdrawer*d, gfxcoord_t x, gfxcoord_t y); void (*splineTo)(struct _gfxdrawer*d, gfxcoord_t sx, gfxcoord_t sy, gfxcoord_t x, gfxcoord_t y); + void (*close)(struct _gfxdrawer*d); void* (*result)(struct _gfxdrawer*d); } gfxdrawer_t; @@ -49,6 +50,7 @@ typedef struct _gfxpoint typedef struct _gfxfontlist { gfxfont_t*font; + void*user; struct _gfxfontlist*next; } gfxfontlist_t; @@ -68,6 +70,7 @@ void gfxdraw_conicTo(gfxdrawer_t*draw, double cx, double cy, double tox, double gfxbbox_t gfxline_getbbox(gfxline_t*line); gfxbbox_t gfxbbox_expand_to_point(gfxbbox_t box, gfxcoord_t x, gfxcoord_t y); +void gfxbbox_intersect(gfxbbox_t*box1, gfxbbox_t*box2); void gfxline_transform(gfxline_t*line, gfxmatrix_t*matrix); @@ -79,11 +82,18 @@ void gfxmatrix_multiply(gfxmatrix_t*m1, gfxmatrix_t*m2, gfxmatrix_t*dest); gfxfontlist_t* gfxfontlist_create(); gfxfontlist_t*gfxfontlist_addfont(gfxfontlist_t*list, gfxfont_t*font); +gfxfontlist_t*gfxfontlist_addfont2(gfxfontlist_t*list, gfxfont_t*font, void*user); gfxfont_t*gfxfontlist_findfont(gfxfontlist_t*list, char*id); char gfxfontlist_hasfont(gfxfontlist_t*list, gfxfont_t*font); -void gfxfontlist_free(gfxfontlist_t*list); +void* gfxfontlist_getuserdata(gfxfontlist_t*list, const char*id); +void gfxfontlist_free(gfxfontlist_t*list, char deletefonts); -gfxline_t*gfxline_makerectangle(int x1, int y1, int x2, int y2); +void gfximage_save_jpeg(gfximage_t*img, char*filename, int quality); + +gfxbbox_t* gfxline_isrectangle(gfxline_t*_l); + +gfxline_t*gfxline_makerectangle(double x1, double y1, double x2, double y2); +gfxline_t*gfxline_makecircle(double x,double y,double rx, double ry); void gfxline_show(gfxline_t*line, FILE*fi); #ifdef __cplusplus