support for using shapedrawers for line drawings
authorkramm <kramm>
Sun, 2 May 2004 18:04:47 +0000 (18:04 +0000)
committerkramm <kramm>
Sun, 2 May 2004 18:04:47 +0000 (18:04 +0000)
lib/modules/swfdraw.c
lib/rfxswf.h

index f9a2882..66dfc7f 100644 (file)
@@ -57,6 +57,11 @@ static void swf_ShapeDrawerInit(drawer_t*draw, TAG*tag, int fillstylebits, int l
     swf_ShapeSetStyle(sdraw->tag,sdraw->shape,linestylebits?1:0,fillstylebits?1:0,0/*?*/);
 }
 
+void swf_Shape10DrawerInit(drawer_t*draw, TAG*tag)
+{
+    swf_ShapeDrawerInit(draw, tag, 0, 1);
+}
+
 void swf_Shape01DrawerInit(drawer_t*draw, TAG*tag)
 {
     swf_ShapeDrawerInit(draw, tag, 1, 0);
@@ -81,11 +86,11 @@ static void fixEndPoint(drawer_t*draw)
     if(   sdraw->firstx != sdraw->lastx 
        || sdraw->firsty != sdraw->lasty) {
        /* fix non-closing shapes */
-       /* TODO: do this only if the shape is filled */
        FPOINT to;
        to.x = sdraw->firstx/20.0;
        to.y = sdraw->firsty/20.0;
-       draw->lineTo(draw, &to);
+       if(sdraw->shape->bits.fill) // do this only if the shape is filled
+           draw->lineTo(draw, &to);
     }
 }
 static void swf_ShapeDrawerMoveTo(drawer_t*draw, FPOINT * to)
index 4d4eb07..a5e8991 100644 (file)
@@ -453,6 +453,7 @@ void        swf_DumpShape(SHAPE2*shape2);
 
 // swfdraw.c
 
+void swf_Shape10DrawerInit(drawer_t*draw, TAG*tag);
 void swf_Shape01DrawerInit(drawer_t*draw, TAG*tag);
 void swf_Shape11DrawerInit(drawer_t*draw, TAG*tag);
 SHAPE* swf_ShapeDrawerToShape(drawer_t*draw);
@@ -613,6 +614,10 @@ void swf_DumpFont(SWFFONT * font);
 
 // Button Conditions
 
+/* missing: IDLE_OUTDOWN 
+            OUTDOWN_OVERUP
+           OVERUP_OUTDOWN
+*/
 #define BC_OVERDOWN_IDLE        0x0100
 #define BC_IDLE_OVERDOWN        0x0080
 #define BC_OUTDOWN_IDLE         0x0040