X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fdrawer.c;h=0fc430730ba86ef245866e655714961654fff94a;hp=d3716574b70fe90e1361349e4048f31a111950ba;hb=6feed80959ad2c11f0427bf0e5a30aab8abd7083;hpb=facdbc2c6d5ac9b5d6551690f646355bf11ae58e diff --git a/lib/drawer.c b/lib/drawer.c index d371657..0fc4307 100644 --- a/lib/drawer.c +++ b/lib/drawer.c @@ -22,6 +22,7 @@ #include #include +#include #include #include #include "drawer.h" @@ -242,6 +243,10 @@ void draw_cubicTo(drawer_t*draw, FPOINT* control1, FPOINT* control2, FPOINT* t { struct qspline q[128]; struct cspline c; + double quality = 80; + double maxerror = (500-(quality*5)>1?500-(quality*5):1)/20.0; + int t,num; + c.start.x = draw->pos.x; c.start.y = draw->pos.y; c.control1.x = control1->x; @@ -250,11 +255,9 @@ void draw_cubicTo(drawer_t*draw, FPOINT* control1, FPOINT* control2, FPOINT* t c.control2.y = control2->y; c.end.x = to->x; c.end.y = to->y; - double quality = 80; - double maxerror = (500-(quality*5)>1?500-(quality*5):1)/20.0; + + num = approximate3(&c, q, 128, maxerror*maxerror); - int num = approximate3(&c, q, 128, maxerror*maxerror); - int t; for(t=0;t