From: kramm Date: Sat, 23 Jul 2005 08:24:51 +0000 (+0000) Subject: added quality parameters X-Git-Tag: release-0-7-0~21 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=d320fe6202257cc281bbd0f3e45895b3bc4f2ef9 added quality parameters --- diff --git a/lib/gfxtools.c b/lib/gfxtools.c index ec98609..cd08a42 100644 --- a/lib/gfxtools.c +++ b/lib/gfxtools.c @@ -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; diff --git a/lib/gfxtools.h b/lib/gfxtools.h index 628cd1a..01fad05 100644 --- a/lib/gfxtools.h +++ b/lib/gfxtools.h @@ -56,8 +56,8 @@ gfxline_t* gfxline_append(gfxline_t*line1, gfxline_t*line2); void gfxline_free(gfxline_t*l); gfxline_t* gfxline_clone(gfxline_t*line); -void gfxdraw_cubicTo(gfxdrawer_t*draw, double c1x, double c1y, double c2x, double c2y, double x, double y); -void gfxdraw_conicTo(gfxdrawer_t*draw, double cx, double cy, double tox, double toy); +void gfxdraw_cubicTo(gfxdrawer_t*draw, double c1x, double c1y, double c2x, double c2y, double x, double y, double quality); +void gfxdraw_conicTo(gfxdrawer_t*draw, double cx, double cy, double tox, double toy, double quality); gfxbbox_t gfxline_getbbox(gfxline_t*line); gfxbbox_t gfxbbox_expand_to_point(gfxbbox_t box, gfxcoord_t x, gfxcoord_t y);