From ebf53a918174ecce8bf0ff64fa69e12677e52bae Mon Sep 17 00:00:00 2001 From: kramm Date: Sun, 2 May 2004 18:04:47 +0000 Subject: [PATCH] support for using shapedrawers for line drawings --- lib/modules/swfdraw.c | 9 +++++++-- lib/rfxswf.h | 5 +++++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/modules/swfdraw.c b/lib/modules/swfdraw.c index f9a2882..66dfc7f 100644 --- a/lib/modules/swfdraw.c +++ b/lib/modules/swfdraw.c @@ -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) diff --git a/lib/rfxswf.h b/lib/rfxswf.h index 4d4eb07..a5e8991 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -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 -- 1.7.10.4