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;
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);
gfxfontlist_t*gfxfontlist_addfont(gfxfontlist_t*list, gfxfont_t*font);
gfxfont_t*gfxfontlist_findfont(gfxfontlist_t*list, char*id);
char gfxfontlist_hasfont(gfxfontlist_t*list, gfxfont_t*font);
+void gfxfontlist_free(gfxfontlist_t*list, char deletefonts);
-gfxline_t*gfxline_makerectangle(int x1, int y1, int x2, int y2);
+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