add a small value (0.0001) to the float parameters, so that
authorkramm <kramm>
Sun, 27 Feb 2005 14:44:46 +0000 (14:44 +0000)
committerkramm <kramm>
Sun, 27 Feb 2005 14:44:46 +0000 (14:44 +0000)
e.g. 0.49999 isn't converted to 0.4.

lib/modules/swfdraw.c

index 66f169c..40aa255 100644 (file)
@@ -95,8 +95,8 @@ static void fixEndPoint(drawer_t*draw)
 static void swf_ShapeDrawerMoveTo(drawer_t*draw, FPOINT * to)
 {
     SWFSHAPEDRAWER*sdraw = (SWFSHAPEDRAWER*)draw->internal;
-    int x = to->x*20;
-    int y = to->y*20;
+    int x = to->x*20+0.001;
+    int y = to->y*20+0.001;
 
     /* we need to write moveto always- it
        might be that it signals the end of a polygon, otherwise
@@ -117,8 +117,8 @@ static void swf_ShapeDrawerMoveTo(drawer_t*draw, FPOINT * to)
 static void swf_ShapeDrawerLineTo(drawer_t*draw, FPOINT * to)
 {
     SWFSHAPEDRAWER*sdraw = (SWFSHAPEDRAWER*)draw->internal;
-    int x = to->x*20;
-    int y = to->y*20;
+    int x = to->x*20+0.001;
+    int y = to->y*20+0.001;
     if(sdraw->lastx < sdraw->bbox.xmin) sdraw->bbox.xmin = sdraw->lastx;
     if(sdraw->lasty < sdraw->bbox.ymin) sdraw->bbox.ymin = sdraw->lasty;
     if(sdraw->lastx > sdraw->bbox.xmax) sdraw->bbox.xmax = sdraw->lastx;
@@ -135,10 +135,10 @@ static void swf_ShapeDrawerLineTo(drawer_t*draw, FPOINT * to)
 static void swf_ShapeDrawerSplineTo(drawer_t*draw, FPOINT * c1, FPOINT*  to)
 {
     SWFSHAPEDRAWER*sdraw = (SWFSHAPEDRAWER*)draw->internal;
-    int tx = c1->x*20;
-    int ty = c1->y*20;
-    int x = to->x*20;
-    int y = to->y*20;
+    int tx = c1->x*20+0.001;
+    int ty = c1->y*20+0.001;
+    int x = to->x*20+0.001;
+    int y = to->y*20+0.001;
     if(sdraw->lastx < sdraw->bbox.xmin) sdraw->bbox.xmin = sdraw->lastx;
     if(sdraw->lasty < sdraw->bbox.ymin) sdraw->bbox.ymin = sdraw->lasty;
     if(sdraw->lastx > sdraw->bbox.xmax) sdraw->bbox.xmax = sdraw->lastx;