X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fexample%2Fbuttontest.c;h=6ad544c0394cf65388ff06b1590040638074f959;hb=6feed80959ad2c11f0427bf0e5a30aab8abd7083;hp=99ad495934ff3f03c8fbbb9859333900cdd8a1a2;hpb=e29229a3ea9992a5422f03846bab43035463e14c;p=swftools.git diff --git a/lib/example/buttontest.c b/lib/example/buttontest.c index 99ad495..6ad544c 100644 --- a/lib/example/buttontest.c +++ b/lib/example/buttontest.c @@ -1,4 +1,4 @@ -/* shape1.c +/* buttontest.c Example implementation for creating a button with rfxswf @@ -6,9 +6,20 @@ Copyright (c) 2000, 2001 Matthias Kramm Rainer Böhme - - This file is distributed under the GPL, see file COPYING for details -*/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include @@ -17,8 +28,10 @@ TAG* t; +#define ID_BUTTON 31 + int useDefineButton2 = 0; // set this to 1 to use DefineButton2 Tags - // instead of DefineButton1 + // instead of DefineButton1 int main (int argc,char ** argv) { SWF swf; @@ -46,7 +59,7 @@ int main (int argc,char ** argv) rgb.b = 0xff; swf_SetRGB(t,&rgb); - for(count=0;count<4;count++) + for(count=1;count<4;count++) { t = swf_InsertTag(t,ST_DEFINESHAPE); swf_ShapeNew(&s); // create new shape instance @@ -67,24 +80,18 @@ int main (int argc,char ** argv) swf_ShapeFree(s); // clean shape structure (which isn't needed anymore after writing the tag) } - a1 = swf_ActionStart(t); - action_SetTarget("movie"); - action_NextFrame(); - action_SetTarget(""); - action_End(); - swf_ActionEnd(); + a1 = action_SetTarget(0, "movie"); + a1 = action_NextFrame(a1); + a1 = action_SetTarget(a1, ""); + a1 = action_End(a1); - a2 = swf_ActionStart(t); - //action_GetUrl("test.swf","_level0"); // load a swf - //action_GetUrl("index.html","_this"); // load html in new window - action_GetUrl("http://www.quiss.org/swftools/index.html","_parent"); // load html in this window - action_End(); - swf_ActionEnd(); - - a3 = swf_ActionStart(t); - action_GotoFrame(33); - action_End(); - swf_ActionEnd(); + //a2 = action_GetUrl(a2, "test.swf","_level0"); // load a swf + //a2 = action_GetUrl(a2, "index.html","_this"); // load html in new window + a2 = action_GetUrl(0, "http://www.quiss.org/swftools/index.html","_parent"); // load html in this window + a2 = action_End(a2); + + a3 = action_GotoFrame(0,33); + a3 = action_End(a3); actiontoset = a2; @@ -92,45 +99,40 @@ int main (int argc,char ** argv) { t = swf_InsertTag(t,ST_DEFINEBUTTON); swf_SetU16(t,31); //id - swf_ButtonSetFlags(t, 0); //menu=no - swf_ButtonSetRecord(t,0x01,33,1,0,0); - swf_ButtonSetRecord(t,0x02,34,1,0,0); - swf_ButtonSetRecord(t,0x04,35,1,0,0); - swf_ButtonSetRecord(t,0x08,36,1,0,0); - swf_SetU8(t,0); - swf_SetActions(t,actiontoset); - swf_SetU8(t,0); + swf_ButtonSetRecord(t,BS_UP|BS_HIT,34,1,NULL,NULL); + swf_ButtonSetRecord(t,BS_OVER,35,1,NULL,NULL); + swf_ButtonSetRecord(t,BS_DOWN,36,1,NULL,NULL); + swf_SetU8(t,0); // end of button records + + swf_ActionSet(t,actiontoset); } else { t = swf_InsertTag(t,ST_DEFINEBUTTON2); - swf_SetU16(t,31); //id + swf_SetU16(t,ID_BUTTON); //id swf_ButtonSetFlags(t, 0); //menu=no - swf_ButtonSetRecord(t,0x01,33,1,0,0); - swf_ButtonSetRecord(t,0x02,34,1,0,0); - swf_ButtonSetRecord(t,0x04,35,1,0,0); - swf_ButtonSetRecord(t,0x08,36,1,0,0); - swf_SetU8(t,0); - - swf_ButtonSetCondition(t, 4); - swf_SetActions(t,actiontoset); - swf_SetU8(t,0); - - swf_ButtonSetCondition(t, 0); - swf_SetU8(t,0); - - swf_SetU8(t,0); - - swf_ButtonPostProcess(t, 2); + swf_ButtonSetRecord(t,BS_UP|BS_HIT,34,1,NULL,NULL); + swf_ButtonSetRecord(t,BS_OVER,35,1,NULL,NULL); + swf_ButtonSetRecord(t,BS_DOWN,36,1,NULL,NULL); + swf_SetU8(t,0); // end of button records + + swf_ButtonSetCondition(t, BC_OVERDOWN_OVERUP); + swf_ActionSet(t,actiontoset); + + swf_ButtonPostProcess(t, 1); // don't forget! } + swf_ActionFree(a1); + swf_ActionFree(a2); + swf_ActionFree(a3); + t = swf_InsertTag(t,ST_PLACEOBJECT2); - swf_ObjectPlace(t, 31, 2,0,0,0); + swf_ObjectPlace(t, ID_BUTTON, 2,0,0,0); t = swf_InsertTag(t,ST_SHOWFRAME); t = swf_InsertTag(t,ST_END); - f = open("button.swf",O_WRONLY|O_CREAT, 0644); + f = open("buttontest.swf",O_WRONLY|O_CREAT, 0644); if FAILED(swf_WriteSWF(f,&swf)) fprintf(stderr,"WriteSWF() failed.\n"); close(f);