int main() { int i; SWFMovie m = newSWFMovieWithVersion(8); SWFShape shape1 = newSWFShape(); SWFShape shape2 = newSWFShape(); SWFShape_setLine2(shape1, 1, 25, 0, 0, 128, SWF_LINESTYLE_FLAG_HINTING, 0); SWFShape_movePenTo(shape1, 5, 5); SWFShape_drawLineTo(shape1, 50, 30); SWFShape_setLine2(shape2, 1, 25, 100, 100, 255, SWF_LINESTYLE_FLAG_HINTING, 0); SWFShape_movePenTo(shape2, 5, 5); SWFShape_drawLineTo(shape2, 50, 130); SWFDisplayItem item = SWFMovie_add(m, shape1); SWFMovie_nextFrame(m); SWFMovie_replace(m, item, shape2); SWFMovie_nextFrame(m); SWFMovie_save(m,"test01.swf"); return 0; }
int main() { SWFMovie m = newSWFMovieWithVersion(8); SWFShape shape = newSWFShape(); SWFShape_setLine2(shape, 40, 25, 0, 0, 128, SWF_LINESTYLE_FLAG_HINTING | SWF_LINESTYLE_JOIN_BEVEL | SWF_LINESTYLE_FLAG_ENDCAP_SQUARE, 0); SWFShape_movePenTo(shape, 5, 5); SWFShape_drawLineTo(shape, 50, 100); SWFShape_drawLineTo(shape, 100, 100); SWFMovie_add(m, (SWFBlock)shape); SWFMovie_save(m,"test02.swf"); return 0; }
/********************************** * Below are supporting functions * **********************************/ void swfSetLineStyle(SWFShape shape, const pGEcontext gc, pswfDesc swfInfo) { int cap = SWF_LINESTYLE_CAP_ROUND; int endcap = SWF_LINESTYLE_FLAG_ENDCAP_ROUND; int join = SWF_LINESTYLE_JOIN_ROUND; switch(gc->lend) { case GE_ROUND_CAP: cap = SWF_LINESTYLE_CAP_ROUND; endcap = SWF_LINESTYLE_FLAG_ENDCAP_ROUND; break; case GE_BUTT_CAP: cap = SWF_LINESTYLE_CAP_NONE; endcap = SWF_LINESTYLE_FLAG_ENDCAP_NONE; break; case GE_SQUARE_CAP: cap = SWF_LINESTYLE_CAP_SQUARE; endcap = SWF_LINESTYLE_FLAG_ENDCAP_SQUARE; break; } switch(gc->ljoin) { case GE_ROUND_JOIN: join = SWF_LINESTYLE_JOIN_ROUND; break; case GE_MITRE_JOIN: join = SWF_LINESTYLE_JOIN_MITER; break; case GE_BEVEL_JOIN: join = SWF_LINESTYLE_JOIN_BEVEL; break; } SWFShape_setLine2(shape, (unsigned short) gc->lwd, R_RED(gc->col), R_GREEN(gc->col), R_BLUE(gc->col), R_ALPHA(gc->col), cap | endcap | join, (float) gc->lmitre); }