X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=src%2Fswfc.c;h=e51848fd841af3fa7971cd0c065db6323d82c924;hb=addd269469480d86c20849c4fcdb504c2f7ab233;hp=4d744ff195741edbebae8184c37dd2167bd43855;hpb=0374fd5149246f559ac9b29705fd41baac1e318d;p=swftools.git diff --git a/src/swfc.c b/src/swfc.c index 4d744ff..e51848f 100644 --- a/src/swfc.c +++ b/src/swfc.c @@ -642,6 +642,8 @@ static void s_endSWF() tag = swf_InsertTag(tag, ST_END); swf_OptimizeTagOrder(swf); + + swf_Optimize(swf); if(!(swf->movieSize.xmax-swf->movieSize.xmin) || !(swf->movieSize.ymax-swf->movieSize.ymin)) { swf->movieSize = currentrect; /* "autocrop" */ @@ -705,6 +707,10 @@ void s_frame(int nr, int cut, char*name) swf_SetString(tag, name); } } + if(nr == 0 && currentframe == 0 && name) { + tag = swf_InsertTag(tag, ST_FRAMELABEL); + swf_SetString(tag, name); + } if(cut) { if(now == tag) { @@ -924,6 +930,21 @@ void s_text(char*name, char*fontname, char*text, int size, RGBA color) incrementid(); } +void s_quicktime(char*name, char*url) +{ + SRECT r; + MATRIX _m,*m=0; + + memset(&r, 0, sizeof(r)); + + tag = swf_InsertTag(tag, ST_DEFINEMOVIE); + swf_SetU16(tag, id); + swf_SetString(tag, url); + + s_addcharacter(name, id, tag, r); + incrementid(); +} + void s_edittext(char*name, char*fontname, int size, int width, int height, char*text, RGBA*color, int maxlength, char*variable, int flags) { SWFFONT*font; @@ -2290,6 +2311,14 @@ static int c_soundtrack(map_t*args) return 0; } +static int c_quicktime(map_t*args) +{ + char*name = lu(args, "name"); + char*url = lu(args, "url"); + s_quicktime(name, url); + return 0; +} + static int c_image(map_t*args) { char*command = lu(args, "commandname"); @@ -2513,6 +2542,7 @@ static struct { {"sound", c_sound, "name filename"}, {"font", c_font, "name filename"}, {"soundtrack", c_soundtrack, "filename"}, + {"quicktime", c_quicktime, "url"}, // generators of primitives