added quality parameters
[swftools.git] / lib / gfxtools.c
index ec98609..cd08a42 100644 (file)
@@ -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;