Gnash  0.8.10
SWF.h
Go to the documentation of this file.
00001 // 
00002 //   Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
00003 //   Free Software Foundation, Inc
00004 // 
00005 // This program is free software; you can redistribute it and/or modify
00006 // it under the terms of the GNU General Public License as published by
00007 // the Free Software Foundation; either version 3 of the License, or
00008 // (at your option) any later version.
00009 // 
00010 // This program is distributed in the hope that it will be useful,
00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013 // GNU General Public License for more details.
00014 // 
00015 // You should have received a copy of the GNU General Public License
00016 // along with this program; if not, write to the Free Software
00017 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00018 
00019 #ifndef GNASH_SWF_H
00020 #define GNASH_SWF_H
00021 
00022 #include <iosfwd> 
00023 
00024 namespace gnash {
00025 
00027 namespace SWF { 
00028 
00030 enum TagType
00031 {
00032     END                   =  0,
00033     SHOWFRAME             =  1,
00034     DEFINESHAPE           =  2,
00035     FREECHARACTER         =  3,
00036     PLACEOBJECT           =  4,
00037     REMOVEOBJECT          =  5,
00038     DEFINEBITS            =  6,
00039     DEFINEBUTTON          =  7,
00040     JPEGTABLES            =  8,
00041     SETBACKGROUNDCOLOR    =  9,
00042     DEFINEFONT            = 10,
00043     DEFINETEXT            = 11,
00044     DOACTION              = 12,
00045     DEFINEFONTINFO        = 13,
00046     DEFINESOUND           = 14,
00047     STARTSOUND            = 15,
00048     STOPSOUND             = 16, 
00049     DEFINEBUTTONSOUND     = 17,
00050     SOUNDSTREAMHEAD       = 18,
00051     SOUNDSTREAMBLOCK      = 19,
00052     DEFINELOSSLESS        = 20,
00053     DEFINEBITSJPEG2       = 21,
00054     DEFINESHAPE2          = 22,
00055     DEFINEBUTTONCXFORM    = 23,
00056     PROTECT               = 24,
00057     PATHSAREPOSTSCRIPT    = 25,
00058     PLACEOBJECT2          = 26,
00059     REMOVEOBJECT2         = 28,
00060     SYNCFRAME             = 29,
00061     FREEALL               = 31,
00062     DEFINESHAPE3          = 32,
00063     DEFINETEXT2           = 33,
00064     DEFINEBUTTON2         = 34,
00065     DEFINEBITSJPEG3       = 35,
00066     DEFINELOSSLESS2       = 36,
00067     DEFINEEDITTEXT        = 37,
00068     DEFINEVIDEO           = 38,
00069     DEFINESPRITE          = 39,
00070     NAMECHARACTER         = 40,
00071     SERIALNUMBER          = 41,
00072     DEFINETEXTFORMAT      = 42,
00073     FRAMELABEL            = 43,
00074     DEFINEBEHAVIOR        = 44, 
00075     SOUNDSTREAMHEAD2      = 45,
00076     DEFINEMORPHSHAPE      = 46,
00077     FRAMETAG              = 47,
00078     DEFINEFONT2           = 48,
00079     GENCOMMAND            = 49,
00080     DEFINECOMMANDOBJ      = 50,
00081     CHARACTERSET          = 51,
00082     FONTREF               = 52,
00083     DEFINEFUNCTION        = 53,
00084     PLACEFUNCTION         = 54,
00085     GENTAGOBJECT          = 55,
00086     EXPORTASSETS          = 56,
00087     IMPORTASSETS          = 57,
00088     ENABLEDEBUGGER        = 58,
00089     INITACTION            = 59,
00090     DEFINEVIDEOSTREAM     = 60,
00091     VIDEOFRAME            = 61,
00092     DEFINEFONTINFO2       = 62,
00093     DEBUGID               = 63, 
00094     ENABLEDEBUGGER2       = 64,
00095     SCRIPTLIMITS          = 65, 
00096     SETTABINDEX           = 66, 
00097     DEFINESHAPE4_         = 67,
00098     DEFINEMORPHSHAPE2_    = 68,
00099     FILEATTRIBUTES        = 69,
00100     PLACEOBJECT3          = 70,
00101     IMPORTASSETS2         = 71,
00102     DOABC                 = 72,
00103     DEFINEALIGNZONES      = 73,
00104     CSMTEXTSETTINGS       = 74,
00105     DEFINEFONT3           = 75,
00106     SYMBOLCLASS           = 76,
00107     METADATA              = 77,
00108     DEFINESCALINGGRID     = 78,
00109     DOABCDEFINE           = 82,
00110     DEFINESHAPE4          = 83,
00111     DEFINEMORPHSHAPE2     = 84,
00112     DEFINESCENEANDFRAMELABELDATA = 86,
00113     DEFINEBINARYDATA      = 87,
00114     DEFINEFONTNAME        = 88,    
00115     STARTSOUND2           = 89,
00116     DEFINEBITSJPEG4       = 90,
00117     REFLEX                = 777,
00118     DEFINEBITSPTR         = 1023
00119 };
00120 
00121 std::ostream& operator<<(std::ostream& o, TagType t);
00122 
00124 enum ActionType
00125 {
00126     ACTION_END                     = 0x00,
00127     ACTION_NEXTFRAME               = 0x04,
00128     ACTION_PREVFRAME               = 0x05,
00129     ACTION_PLAY                    = 0x06,
00130     ACTION_STOP                    = 0x07,
00131     ACTION_TOGGLEQUALITY           = 0x08,
00132     ACTION_STOPSOUNDS              = 0x09,
00133     ACTION_GOTOFRAME               = 0x81, /* >= 0x80 means record has args */
00134     ACTION_GETURL                  = 0x83,
00135     ACTION_WAITFORFRAME            = 0x8A,
00136     ACTION_SETTARGET               = 0x8B,
00137     ACTION_GOTOLABEL               = 0x8C,
00138     ACTION_ADD                     = 0x0A,
00139     ACTION_SUBTRACT                = 0x0B,
00140     ACTION_MULTIPLY                = 0x0C,
00141     ACTION_DIVIDE                  = 0x0D,
00142     ACTION_EQUAL                   = 0x0E,
00143     ACTION_LESSTHAN                = 0x0F,
00144     ACTION_LOGICALAND              = 0x10,
00145     ACTION_LOGICALOR               = 0x11,
00146     ACTION_LOGICALNOT              = 0x12,
00147     ACTION_STRINGEQ                = 0x13,
00148     ACTION_STRINGLENGTH            = 0x14,
00149     ACTION_SUBSTRING               = 0x15,
00150     ACTION_POP                     = 0x17,
00151     ACTION_INT                     = 0x18,
00152     ACTION_GETVARIABLE             = 0x1C,
00153     ACTION_SETVARIABLE             = 0x1D,
00154     ACTION_SETTARGETEXPRESSION     = 0x20,
00155     ACTION_STRINGCONCAT            = 0x21,
00156     ACTION_GETPROPERTY             = 0x22,
00157     ACTION_SETPROPERTY             = 0x23,
00158     ACTION_DUPLICATECLIP           = 0x24,
00159     ACTION_REMOVECLIP              = 0x25,
00160     ACTION_TRACE                   = 0x26,
00161     ACTION_STARTDRAGMOVIE          = 0x27,
00162     ACTION_STOPDRAGMOVIE           = 0x28,
00163     ACTION_STRINGCOMPARE           = 0x29,
00164     ACTION_THROW                   = 0x2A,
00165 
00173     ACTION_CASTOP                  = 0x2B,
00174 
00182     ACTION_IMPLEMENTSOP            = 0x2C,
00183 
00185     //
00187     //
00195     ACTION_FSCOMMAND2              = 0x2D,
00196     ACTION_RANDOM                  = 0x30,
00197     ACTION_MBLENGTH                = 0x31,
00198     ACTION_ORD                     = 0x32,
00199     ACTION_CHR                     = 0x33,
00200     ACTION_GETTIMER                = 0x34,
00201     ACTION_MBSUBSTRING             = 0x35,
00202     ACTION_MBORD                   = 0x36,
00203     ACTION_MBCHR                   = 0x37,
00204     ACTION_STRICTMODE              = 0x89,
00205     ACTION_WAITFORFRAMEEXPRESSION  = 0x8D,
00206     ACTION_PUSHDATA                = 0x96,
00207     ACTION_BRANCHALWAYS            = 0x99,
00208     ACTION_GETURL2                 = 0x9A,
00209     ACTION_BRANCHIFTRUE            = 0x9D,
00210     ACTION_CALLFRAME               = 0x9E,
00211 
00213     ACTION_GOTOEXPRESSION          = 0x9F,
00214     ACTION_DELETE                  = 0x3A,
00215     ACTION_DELETE2                 = 0x3B,
00216     ACTION_VAREQUALS               = 0x3C, // DEFINELOCAL actually
00217     ACTION_CALLFUNCTION            = 0x3D,
00218     ACTION_RETURN                  = 0x3E,
00219     ACTION_MODULO                  = 0x3F,
00220 
00230     ACTION_NEW                     = 0x40,
00231     ACTION_VAR                     = 0x41,
00232     ACTION_INITARRAY               = 0x42,
00233 
00243     ACTION_INITOBJECT              = 0x43,
00244     ACTION_TYPEOF                  = 0x44,
00245 
00248     ACTION_TARGETPATH              = 0x45,
00249     ACTION_ENUMERATE               = 0x46,
00250     ACTION_NEWADD                  = 0x47,
00251     ACTION_NEWLESSTHAN             = 0x48,
00252 
00254     //
00256     ACTION_NEWEQUALS               = 0x49,
00257     ACTION_TONUMBER                = 0x4A,
00258     ACTION_TOSTRING                = 0x4B,
00259     ACTION_DUP                     = 0x4C,
00260     ACTION_SWAP                    = 0x4D,
00261     ACTION_GETMEMBER               = 0x4E,
00262     ACTION_SETMEMBER               = 0x4F,
00263     ACTION_INCREMENT               = 0x50,
00264     ACTION_DECREMENT               = 0x51,
00265 
00270     ACTION_CALLMETHOD              = 0x52,
00271 
00279     ACTION_NEWMETHOD               = 0x53, 
00280 
00289     ACTION_INSTANCEOF              = 0x54,
00290 
00293     ACTION_ENUM2                   = 0x55,
00294     ACTION_BITWISEAND              = 0x60,
00295     ACTION_BITWISEOR               = 0x61,
00296     ACTION_BITWISEXOR              = 0x62,
00297     ACTION_SHIFTLEFT               = 0x63,
00298     ACTION_SHIFTRIGHT              = 0x64,
00299     ACTION_SHIFTRIGHT2             = 0x65,
00300     ACTION_STRICTEQ                = 0x66,
00301 
00305     ACTION_GREATER                 = 0x67,
00306 
00310     ACTION_STRINGGREATER           = 0x68,
00311 
00325     ACTION_EXTENDS                 = 0x69,
00326     ACTION_CONSTANTPOOL            = 0x88,
00327     ACTION_DEFINEFUNCTION2         = 0x8E,
00328     ACTION_TRY                     = 0x8F,
00329     ACTION_WITH                    = 0x94,
00330     ACTION_DEFINEFUNCTION          = 0x9B,
00331     ACTION_SETREGISTER             = 0x87
00332 
00333 };
00334 
00335 std::ostream& operator<<(std::ostream& o, ActionType a);
00336 
00337 enum abc_action_type
00338 {
00340     ABC_ACTION_END                 = 0x00,
00341 
00343     ABC_ACTION_BKPT                = 0x01,
00344 
00346     ABC_ACTION_NOP                 = 0x02,
00347 
00354     ABC_ACTION_THROW               = 0X03,
00355 
00365     ABC_ACTION_GETSUPER            = 0X04,
00366 
00376     ABC_ACTION_SETSUPER            = 0X05,
00377 
00381     ABC_ACTION_DXNS                = 0X06,
00382 
00388     ABC_ACTION_DXNSLATE            = 0X07,
00389 
00394     ABC_ACTION_KILL                = 0X08,
00395 
00397     ABC_ACTION_LABEL               = 0X09,
00398 
00399     ABC_ACTION_0x0A                = 0X0A,
00400     ABC_ACTION_0X0B                = 0X0B,
00401 
00409     ABC_ACTION_IFNLT               = 0X0C,
00410 
00418     ABC_ACTION_IFNLE               = 0X0D,
00419 
00427     ABC_ACTION_IFNGT               = 0X0E,
00428 
00436     ABC_ACTION_IFNGE               = 0X0F,
00437 
00441     ABC_ACTION_JUMP                = 0X10,
00442 
00450     ABC_ACTION_IFTRUE              = 0X11,
00451 
00458     ABC_ACTION_IFFALSE             = 0X12,
00459 
00467     ABC_ACTION_IFEQ                = 0x13,
00468 
00476     ABC_ACTION_IFNE                = 0X14,
00477 
00485     ABC_ACTION_IFLT                = 0X15,
00486     
00494     ABC_ACTION_IFLE                 = 0x16,
00495 
00503     ABC_ACTION_IFGT                 = 0x17,
00504 
00512     ABC_ACTION_IFGE                 = 0x18,
00513 
00521     ABC_ACTION_IFSTRICTEQ           = 0x19,
00522 
00530     ABC_ACTION_IFSTRICTNE           = 0x1A,
00531 
00540     ABC_ACTION_LOOKUPSWITCH         = 0x1B,
00541 
00548     ABC_ACTION_PUSHWITH             = 0x1C,
00549 
00552     ABC_ACTION_POPSCOPE             = 0x1D,
00553 
00564     ABC_ACTION_NEXTNAME             = 0x1E,
00565 
00573     ABC_ACTION_HASNEXT              = 0x1F,
00574 
00577     ABC_ACTION_PUSHNULL             = 0x20,
00578 
00580     ABC_ACTION_PUSHUNDEFINED        = 0x21,
00581 
00582     ABC_ACTION_0x22                 = 0x22,
00583 
00589     ABC_ACTION_NEXTVALUE            = 0x23,
00590 
00594     ABC_ACTION_PUSHBYTE             = 0x24,
00595 
00599     ABC_ACTION_PUSHSHORT            = 0x25,
00600 
00603     ABC_ACTION_PUSHTRUE             = 0x26,
00604 
00607     ABC_ACTION_PUSHFALSE            = 0x27,
00608 
00611     ABC_ACTION_PUSHNAN              = 0x28,
00612 
00617     ABC_ACTION_POP                  = 0x29,
00618 
00624     ABC_ACTION_DUP                  = 0x2A,
00625 
00632     ABC_ACTION_SWAP                 = 0x2B,
00633 
00637     ABC_ACTION_PUSHSTRING           = 0x2C,
00638 
00642     ABC_ACTION_PUSHINT              = 0x2D,
00643 
00647     ABC_ACTION_PUSHUINT             = 0x2E,
00648 
00652     ABC_ACTION_PUSHDOUBLE           = 0x2F,
00653 
00659     ABC_ACTION_PUSHSCOPE            = 0x30,
00660 
00664     ABC_ACTION_PUSHNAMESPACE        = 0x31,
00665 
00673     ABC_ACTION_HASNEXT2             = 0x32,
00674 
00675     ABC_ACTION_0x33                 = 0x33,
00676     ABC_ACTION_0x34                 = 0x34,
00677     ABC_ACTION_0x35                 = 0x35,
00678     ABC_ACTION_0x36                 = 0x36,
00679     ABC_ACTION_0x37                 = 0x37,
00680     ABC_ACTION_0x38                 = 0x38,
00681     ABC_ACTION_0x39                 = 0x39,
00682     ABC_ACTION_0x3A                 = 0x3A,
00683     ABC_ACTION_0x3B                 = 0x3B,
00684     ABC_ACTION_0x3C                 = 0x3C,
00685     ABC_ACTION_0x3D                 = 0x3D,
00686     ABC_ACTION_0x3E                 = 0x3E,
00687     ABC_ACTION_0x3F                 = 0x3F,
00688 
00694     ABC_ACTION_NEWFUNCTION          = 0x40,
00695 
00703     ABC_ACTION_CALL                = 0x41,
00704 
00711     ABC_ACTION_CONSTRUCT           = 0x42,
00712 
00719     ABC_ACTION_CALLMETHOD          = 0x43,
00720 
00727     ABC_ACTION_CALLSTATIC          = 0x44,
00728 
00737     ABC_ACTION_CALLSUPER           = 0x45,
00738 
00747     ABC_ACTION_CALLPROPERTY        = 0x46,
00748 
00750     ABC_ACTION_RETURNVOID           = 0x47,
00751 
00757     ABC_ACTION_RETURNVALUE          = 0x48,
00758 
00765     ABC_ACTION_CONSTRUCTSUPER      = 0x49,
00766 
00775     ABC_ACTION_CONSTRUCTPROP       = 0x4A,
00776 
00778     ABC_ACTION_CALLSUPERID          = 0x4B,
00779 
00789     ABC_ACTION_CALLPROPLEX         = 0x4C,
00790 
00792     ABC_ACTION_CALLINTERFACE        = 0x4D,
00793 
00797     ABC_ACTION_CALLSUPERVOID       = 0x4E,
00798 
00802     ABC_ACTION_CALLPROPVOID        = 0x4F,
00803 
00804     ABC_ACTION_0x50                 = 0x50,
00805     ABC_ACTION_0x51                 = 0x51,
00806     ABC_ACTION_0x52                 = 0x52,
00807     ABC_ACTION_0x53                 = 0x53,
00808     ABC_ACTION_0x54                 = 0x54,
00809 
00822     ABC_ACTION_NEWOBJECT            = 0x55,
00823 
00833     ABC_ACTION_NEWARRAY             = 0x56,
00834 
00837     ABC_ACTION_NEWACTIVATION        = 0x57,
00838 
00846     ABC_ACTION_NEWCLASS             = 0x58,
00847 
00857     ABC_ACTION_GETDESCENDANTS       = 0x59,
00858 
00863     ABC_ACTION_NEWCATCH             = 0x5A,
00864 
00865     ABC_ACTION_0x5B                 = 0x5B,
00866     ABC_ACTION_0x5C                 = 0x5C,
00867 
00874     ABC_ACTION_FINDPROPSTRICT       = 0x5D,
00875 
00882     ABC_ACTION_FINDPROPERTY         = 0x5E,
00883 
00887     ABC_ACTION_FINDDEF              = 0x5F,
00888 
00893     ABC_ACTION_GETLEX               = 0x60,
00894 
00905     ABC_ACTION_SETPROPERTY          = 0x61,
00906 
00911     ABC_ACTION_GETLOCAL             = 0x62,
00912 
00919     ABC_ACTION_SETLOCAL             = 0x63,
00920 
00923     ABC_ACTION_GETGLOBALSCOPE       = 0x64,
00924 
00928     ABC_ACTION_GETSCOPEOBJECT       = 0x65,
00929 
00939     ABC_ACTION_GETPROPERTY          = 0x66,
00940 
00941     ABC_ACTION_0x67                 = 0x67,
00942 
00952     ABC_ACTION_INITPROPERTY         = 0x68,
00953 
00954     ABC_ACTION_0x69                 = 0x69,
00955 
00962     ABC_ACTION_DELETEPROPERTY       = 0x6A,
00963 
00964     ABC_ACTION_0x6B                = 0x6B,
00965 
00971     ABC_ACTION_GETSLOT              = 0x6C,
00972 
00980     ABC_ACTION_SETSLOT              = 0x6D,
00981 
00988     ABC_ACTION_GETGLOBALSLOT        = 0x6E,
00989 
00997     ABC_ACTION_SETGLOBALSLOT        = 0x6F,
00998 
01003     ABC_ACTION_CONVERT_S           = 0x70,
01004 
01009     ABC_ACTION_ESC_XELEM           = 0x71,
01010 
01015     ABC_ACTION_ESC_XATTR           = 0x72,
01016 
01021     ABC_ACTION_CONVERT_I           = 0x73,
01022 
01027     ABC_ACTION_CONVERT_U           = 0X74,
01028 
01033     ABC_ACTION_CONVERT_D           = 0X75,
01034 
01039     ABC_ACTION_CONVERT_B           = 0X76,
01040 
01046     ABC_ACTION_CONVERT_O           = 0X77,
01047 
01053     ABC_ACTION_CHECKFILTER         = 0x78,
01054 
01055     ABC_ACTION_0x79                = 0x79,
01056     ABC_ACTION_0x7A                 = 0x7A,
01057     ABC_ACTION_0x7B                 = 0x7B,
01058     ABC_ACTION_0x7C                 = 0x7C,
01059     ABC_ACTION_0x7D                 = 0x7D,
01060     ABC_ACTION_0x7E                 = 0x7E,
01061     ABC_ACTION_0x7F                 = 0x7F,
01062 
01068     ABC_ACTION_COERCE              = 0x80,
01069 
01072     ABC_ACTION_COERCE_B             = 0x81,
01073 
01079     ABC_ACTION_COERCE_A            = 0x82,
01080 
01084     ABC_ACTION_COERCE_I            = 0x83,
01085 
01089     ABC_ACTION_COERCE_D            = 0x84,
01090 
01095     ABC_ACTION_COERCE_S            = 0x85,
01096 
01102     ABC_ACTION_ASTYPE              = 0x86,
01103 
01109     ABC_ACTION_ASTYPELATE          = 0x87,
01110 
01113     ABC_ACTION_COERCE_U             = 0x88,
01114 
01119     ABC_ACTION_COERCE_O             = 0x89,
01120 
01121     ABC_ACTION_0x8A                 = 0x8A,
01122     ABC_ACTION_0x8B                 = 0x8B,
01123     ABC_ACTION_0x8C                 = 0x8C,
01124     ABC_ACTION_0x8D                 = 0x8D,
01125     ABC_ACTION_0x8E                 = 0x8E,
01126     ABC_ACTION_0x8F                 = 0x8F,
01127 
01132     ABC_ACTION_NEGATE               = 0x90,
01133 
01140     ABC_ACTION_INCREMENT            = 0x91,
01141 
01145     ABC_ACTION_INCLOCAL             = 0x92,
01146 
01153     ABC_ACTION_DECREMENT            = 0x93,
01154 
01158     ABC_ACTION_DECLOCAL             = 0x94,
01159 
01164     ABC_ACTION_ABC_TYPEOF               = 0x95,
01165 
01170     ABC_ACTION_NOT                  = 0x96,
01171 
01176     ABC_ACTION_BITNOT              = 0x97,
01177 
01178     ABC_ACTION_0x98                 = 0x98,
01179     ABC_ACTION_0x99                 = 0x99,
01180 
01182     ABC_ACTION_CONCAT               = 0x9A,
01183 
01185     ABC_ACTION_ADD_D                = 0x9B,
01186 
01187     ABC_ACTION_0x9C                 = 0x9C,
01188     ABC_ACTION_0x9D                 = 0x9D,
01189     ABC_ACTION_0x9E                 = 0x9E,
01190     ABC_ACTION_0x9F                 = 0x9F,
01191 
01197     ABC_ACTION_ADD           = 0xA0,
01198 
01204     ABC_ACTION_SUBTRACT             = 0xA1,
01205 
01211     ABC_ACTION_MULTIPLY             = 0xA2,
01212 
01218     ABC_ACTION_DIVIDE               = 0xA3,
01219 
01225     ABC_ACTION_MODULO               = 0xA4,
01226 
01232     ABC_ACTION_LSHIFT               = 0xA5,
01233 
01239     ABC_ACTION_RSHIFT               = 0xA6,
01240 
01246     ABC_ACTION_URSHIFT              = 0xA7,
01247 
01252     ABC_ACTION_BITAND              = 0xA8,
01253 
01259     ABC_ACTION_BITOR               = 0xA9,
01260 
01266     ABC_ACTION_BITXOR              = 0xAA,
01267 
01273     ABC_ACTION_EQUALS               = 0xAB,
01274 
01281     ABC_ACTION_STRICTEQUALS         = 0xAC,
01282 
01288     ABC_ACTION_LESSTHAN             = 0xAD,
01289 
01295     ABC_ACTION_LESSEQUALS           = 0xAE,
01296 
01302     ABC_ACTION_GREATERTHAN          = 0xAF,
01303 
01309     ABC_ACTION_GREATEREQUALS        = 0xB0,
01310 
01316     ABC_ACTION_INSTANCEOF           = 0xB1,
01317 
01323     ABC_ACTION_ISTYPE               = 0xB2,
01324 
01330     ABC_ACTION_ISTYPELATE           = 0xB3,
01331 
01338     ABC_ACTION_IN                   = 0xB4,
01339 
01340     ABC_ACTION_0xB5                 = 0xB5,
01341     ABC_ACTION_0xB6                 = 0xB6,
01342     ABC_ACTION_0xB7                 = 0xB7,
01343     ABC_ACTION_0xB8                 = 0xB8,
01344     ABC_ACTION_0xB9                 = 0xB9,
01345     ABC_ACTION_0xBA                 = 0xBA,
01346     ABC_ACTION_0xBB                 = 0xBB,
01347     ABC_ACTION_0xBC                 = 0xBC,
01348     ABC_ACTION_0xBD                 = 0xBD,
01349     ABC_ACTION_0xBE                 = 0xBE,
01350     ABC_ACTION_0xBF                 = 0xBF,
01351 
01353     ABC_ACTION_INCREMENT_I          = 0xC0,
01354 
01356     ABC_ACTION_DECREMENT_I          = 0xC1,
01357 
01359     ABC_ACTION_INCLOCAL_I           = 0xC2,
01360 
01362     ABC_ACTION_DECLOCAL_I           = 0xC3,
01363 
01365     ABC_ACTION_NEGATE_I             = 0xC4,
01366 
01368     ABC_ACTION_ADD_I                = 0xC5,
01369 
01371     ABC_ACTION_SUBTRACT_I           = 0xC6,
01372 
01374     ABC_ACTION_MULTIPLY_I           = 0xC7,
01375 
01376     ABC_ACTION_0xC8                 = 0xC8,
01377     ABC_ACTION_0xC9                 = 0xC9,
01378     ABC_ACTION_0xCA                 = 0xCA,
01379     ABC_ACTION_0xCB                 = 0xCB,
01380     ABC_ACTION_0xCC                 = 0xCC,
01381     ABC_ACTION_0xCD                 = 0xCD,
01382     ABC_ACTION_0xCE                 = 0xCE,
01383     ABC_ACTION_0xCF                 = 0xCF,
01384 
01388     ABC_ACTION_GETLOCAL0            = 0xD0,
01389 
01393     ABC_ACTION_GETLOCAL1            = 0xD1,
01394 
01398     ABC_ACTION_GETLOCAL2            = 0xD2,
01399 
01403     ABC_ACTION_GETLOCAL3            = 0xD3,
01404 
01410     ABC_ACTION_SETLOCAL0            = 0xD4,
01411 
01417     ABC_ACTION_SETLOCAL1            = 0xD5,
01418 
01424     ABC_ACTION_SETLOCAL2            = 0xD6,
01425 
01431     ABC_ACTION_SETLOCAL3            = 0xD7,
01432 
01433     ABC_ACTION_0xD8                 = 0xD8,
01434     ABC_ACTION_0xD9                 = 0xD9,
01435     ABC_ACTION_0xDA                 = 0xDA,
01436     ABC_ACTION_0xDB                 = 0xDB,
01437     ABC_ACTION_0xDC                 = 0xDC,
01438     ABC_ACTION_0xDD                 = 0xDD,
01439     ABC_ACTION_0xDE                 = 0xDE,
01440     ABC_ACTION_0xDF                 = 0xDF,
01441     ABC_ACTION_0xE0                 = 0xE0,
01442     ABC_ACTION_0xE1                 = 0xE1,
01443     ABC_ACTION_0xE2                 = 0xE2,
01444     ABC_ACTION_0xE3                 = 0xE3,
01445     ABC_ACTION_0xE4                 = 0xE4,
01446     ABC_ACTION_0xE5                 = 0xE5,
01447     ABC_ACTION_0xE6                 = 0xE6,
01448     ABC_ACTION_0xE7                 = 0xE7,
01449     ABC_ACTION_0xE8                 = 0xE8,
01450     ABC_ACTION_0xE9                 = 0xE9,
01451     ABC_ACTION_0xEA                 = 0xEA,
01452     ABC_ACTION_0xEB                 = 0xEB,
01453     ABC_ACTION_0xEC                 = 0xEC,
01454     ABC_ACTION_0xED                 = 0xED,
01455 
01457     ABC_ACTION_ABS_JUMP             = 0xEE,
01458 
01461     ABC_ACTION_DEBUG                = 0xEF,
01462 
01465     ABC_ACTION_DEBUGLINE            = 0xF0,
01466 
01469     ABC_ACTION_DEBUGFILE            = 0xF1,
01470 
01473     ABC_ACTION_BKPTLINE             = 0xF2,
01474 
01476     ABC_ACTION_TIMESTAMP            = 0xF3,
01477 
01478     ABC_ACTION_0xF4                 = 0xF4,
01479 
01481     ABC_ACTION_VERIFYPASS           = 0xF5,
01482 
01484     ABC_ACTION_ALLOC                = 0xF6,
01485 
01487     ABC_ACTION_MARK                 = 0xF7,
01488 
01490     ABC_ACTION_WB                   = 0xF8,
01491 
01493     ABC_ACTION_PROLOGUE             = 0xF9,
01494 
01496     ABC_ACTION_SENDENTER            = 0xFA,
01497 
01499     ABC_ACTION_DOUBLETOATOM         = 0xFB,
01500 
01502     ABC_ACTION_SWEEP                = 0xFC,
01503 
01505     ABC_ACTION_CODEGENOP            = 0xFD,
01506 
01508     ABC_ACTION_VERIFYOP             = 0xFE
01509 
01510 };
01511 
01513 std::ostream& operator<< (std::ostream& os, const abc_action_type& typ);
01514 
01515 
01517 //
01520 enum FillType
01521 {
01522     FILL_SOLID                   = 0x00,
01523     FILL_LINEAR_GRADIENT         = 0x10,
01524     FILL_RADIAL_GRADIENT         = 0x12,
01525     FILL_FOCAL_GRADIENT          = 0x13,
01526     FILL_TILED_BITMAP            = 0x40,
01527     FILL_CLIPPED_BITMAP          = 0x41,
01528 
01530     FILL_TILED_BITMAP_HARD       = 0x42, 
01531 
01533     FILL_CLIPPED_BITMAP_HARD     = 0x43
01534 };
01535 
01536 enum SpreadMode
01537 {
01538     GRADIENT_SPREAD_PAD,
01539     GRADIENT_SPREAD_REFLECT,
01540     GRADIENT_SPREAD_REPEAT
01541 };
01542 
01543 enum InterpolationMode
01544 {
01545     GRADIENT_INTERPOLATION_NORMAL,
01546     GRADIENT_INTERPOLATION_LINEAR
01547 };
01548 
01549 
01550 
01551 
01552 } // namespace gnash::SWF
01553 
01554 } // namespace gnash
01555 
01556 
01557 #endif // GNASH_SWF_H