Gnash  0.8.11dev
SWF.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
3 // Free Software Foundation, Inc
4 //
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software
17 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 
19 #ifndef GNASH_SWF_H
20 #define GNASH_SWF_H
21 
22 #include <iosfwd>
23 
24 namespace gnash {
25 
27 namespace SWF {
28 
30 enum TagType
31 {
32  END = 0,
33  SHOWFRAME = 1,
42  DEFINEFONT = 10,
43  DEFINETEXT = 11,
44  DOACTION = 12,
47  STARTSOUND = 15,
48  STOPSOUND = 16,
56  PROTECT = 24,
60  SYNCFRAME = 29,
61  FREEALL = 31,
73  FRAMELABEL = 43,
77  FRAMETAG = 47,
79  GENCOMMAND = 49,
82  FONTREF = 52,
89  INITACTION = 59,
91  VIDEOFRAME = 61,
93  DEBUGID = 63,
95  SCRIPTLIMITS = 65,
96  SETTABINDEX = 66,
102  DOABC = 72,
107  METADATA = 77,
117  REFLEX = 777,
119 };
120 
121 std::ostream& operator<<(std::ostream& o, TagType t);
122 
125 {
126  ACTION_END = 0x00,
129  ACTION_PLAY = 0x06,
130  ACTION_STOP = 0x07,
133  ACTION_GOTOFRAME = 0x81, /* >= 0x80 means record has args */
138  ACTION_ADD = 0x0A,
142  ACTION_EQUAL = 0x0E,
150  ACTION_POP = 0x17,
151  ACTION_INT = 0x18,
160  ACTION_TRACE = 0x26,
164  ACTION_THROW = 0x2A,
165 
174 
183 
185  //
187  //
198  ACTION_ORD = 0x32,
199  ACTION_CHR = 0x33,
202  ACTION_MBORD = 0x36,
203  ACTION_MBCHR = 0x37,
211 
216  ACTION_VAREQUALS = 0x3C, // DEFINELOCAL actually
220 
230  ACTION_NEW = 0x40,
231  ACTION_VAR = 0x41,
233 
245 
252 
254  //
259  ACTION_DUP = 0x4C,
260  ACTION_SWAP = 0x4D,
265 
271 
280 
290 
293  ACTION_ENUM2 = 0x55,
301 
306 
311 
328  ACTION_TRY = 0x8F,
329  ACTION_WITH = 0x94,
332 
333 };
334 
335 std::ostream& operator<<(std::ostream& o, ActionType a);
336 
338 {
341 
344 
347 
355 
366 
377 
382 
389 
395 
398 
401 
410 
419 
428 
437 
442 
451 
459 
468 
477 
486 
495 
504 
513 
522 
531 
541 
549 
553 
565 
574 
578 
581 
583 
590 
595 
600 
604 
608 
612 
618 
625 
633 
638 
643 
648 
653 
660 
665 
674 
688 
695 
704 
712 
720 
728 
738 
748 
751 
758 
766 
776 
779 
790 
793 
798 
803 
809 
823 
834 
838 
847 
858 
864 
867 
875 
883 
888 
894 
906 
912 
920 
924 
929 
940 
942 
953 
955 
963 
965 
972 
981 
989 
998 
1004 
1010 
1016 
1022 
1028 
1034 
1040 
1047 
1054 
1062 
1069 
1073 
1080 
1085 
1090 
1096 
1103 
1110 
1114 
1120 
1127 
1133 
1141 
1146 
1154 
1159 
1165 
1171 
1177 
1180 
1183 
1186 
1191 
1198 
1205 
1212 
1219 
1226 
1233 
1240 
1247 
1253 
1260 
1267 
1274 
1282 
1289 
1296 
1303 
1310 
1317 
1324 
1331 
1339 
1351 
1354 
1357 
1360 
1363 
1366 
1369 
1372 
1375 
1384 
1389 
1394 
1399 
1404 
1411 
1418 
1425 
1432 
1455 
1458 
1462 
1466 
1470 
1474 
1477 
1479 
1482 
1485 
1488 
1491 
1494 
1497 
1500 
1503 
1506 
1509 
1510 };
1511 
1513 std::ostream& operator<< (std::ostream& os, const abc_action_type& typ);
1514 
1515 
1517 //
1521 {
1522  FILL_SOLID = 0x00,
1528 
1531 
1534 };
1535 
1537 {
1541 };
1542 
1544 {
1547 };
1548 
1549 
1550 
1551 
1552 } // namespace gnash::SWF
1553 
1554 } // namespace gnash
1555 
1556 
1557 #endif // GNASH_SWF_H