X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fgfxtools.c;h=77088eec475bf54dcad92ab55d12b2a8c37d7562;hb=b77cdaec546538b92955ac7274864775f4323e90;hp=ec986097b9dd7f1b63de2e8a817b395b70710810;hpb=59c449f6c4adf1296f0aa55196a7a9440eaec721;p=swftools.git diff --git a/lib/gfxtools.c b/lib/gfxtools.c index ec98609..77088ee 100644 --- a/lib/gfxtools.c +++ b/lib/gfxtools.c @@ -312,13 +312,13 @@ gfxline_t* gfxtool_dash_line(gfxline_t*line, float*dashes, float phase) void gfxline_show(gfxline_t*l, FILE*fi) { while(l) { - if(l->type == moveTo) { + if(l->type == gfx_moveTo) { fprintf(fi, "moveTo %.2f,%.2f\n", l->x, l->y); } - if(l->type == lineTo) { + if(l->type == gfx_lineTo) { fprintf(fi, "lineTo %.2f,%.2f\n", l->x, l->y); } - if(l->type == splineTo) { + if(l->type == gfx_splineTo) { fprintf(fi, "splineTo %.2f,%.2f %.2f,%.2f\n", l->sx, l->sy, l->x, l->y); } l = l->next; @@ -478,21 +478,21 @@ static int approximate3(const cspline_t*s, qspline_t*q, int size, double quality return num; } -void gfxdraw_conicTo(gfxdrawer_t*draw, double cx, double cy, double tox, double toy) +void gfxdraw_conicTo(gfxdrawer_t*draw, double cx, double cy, double tox, double toy, double quality) { double c1x = (draw->x + 2 * cx) / 3; double c1y = (draw->y + 2 * cy) / 3; double c2x = (2 * cx + tox) / 3; double c2y = (2 * cy + toy) / 3; - gfxdraw_cubicTo(draw, c1x, c1y, c2x, c2y, tox, toy); + gfxdraw_cubicTo(draw, c1x, c1y, c2x, c2y, tox, toy, quality); } -void gfxdraw_cubicTo(gfxdrawer_t*draw, double c1x, double c1y, double c2x, double c2y, double x, double y) +void gfxdraw_cubicTo(gfxdrawer_t*draw, double c1x, double c1y, double c2x, double c2y, double x, double y, double quality) { qspline_t q[128]; cspline_t c; - double maxerror = 0.01; + double maxerror = quality>0 ? quality : 1.0; int t,num; c.start.x = draw->x;