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
Definition: SWF.h:270
Definition: SWF.h:388
Definition: GnashKey.h:147
Definition: SWF.h:55
Definition: SWF.h:954
Definition: SWF.h:95
Definition: SWF.h:146
Definition: SWF.h:846
Definition: SWF.h:129
Definition: SWF.h:1122
Definition: SWF.h:251
Definition: SWF.h:35
Definition: SWF.h:376
Definition: SWF.h:103
Definition: SWF.h:331
Definition: SWF.h:218
Definition: SWF.h:441
Definition: SWF.h:1140
Definition: SWF.h:1431
Definition: SWF.h:564
Definition: SWF.h:919
Definition: SWF.h:77
Definition: SWF.h:38
Definition: SWF.h:427
Definition: SWF.h:1376
Definition: SWF.h:61
SpreadMode
Definition: SWF.h:1536
Definition: SWF.h:676
Definition: SWF.h:210
Definition: SWF.h:33
Definition: SWF.h:113
Definition: SWF.h:394
Definition: SWF.h:149
Definition: SWF.h:1417
Do: Nothing.
Definition: SWF.h:346
Definition: SWF.h:1124
Definition: SWF.h:88
Definition: SWF.h:577
Definition: SWF.h:503
Do: Enter the debugger if one has been invoked.
Definition: SWF.h:343
Definition: SWF.h:232
Definition: SWF.h:141
Definition: SWF.h:1190
Definition: SWF.h:127
Definition: SWF.h:34
See: 0x92 (ABC_ACTION_INCLOCAL), but forces types to int, not double.
Definition: SWF.h:1359
Definition: SWF.h:683
Definition: SWF.h:365
Definition: SWF.h:264
Definition: SWF.h:833
Definition: SWF.h:203
Definition: SWF.h:594
Definition: SWF.h:1381
Definition: SWF.h:1445
Definition: SWF.h:1349
Definition: SWF.h:632
Definition: SWF.h:1452
Definition: SWF.h:1188
Definition: SWF.h:675
Definition: SWF.h:197
Definition: SWF.h:72
Definition: SWF.h:293
TagType
SWF tag types. Symbolic names copied from Ming.
Definition: SWF.h:30
Definition: SWF.h:1338
Definition: SWF.h:552
Definition: SWF.h:1288
Definition: SWF.h:1015
Definition: SWF.h:1059
Definition: SWF.h:1435
Definition: SWF.h:47
Definition: SWF.h:130
Definition: SWF.h:173
Definition: SWF.h:75
Definition: SWF.h:1434
Definition: SWF.h:148
Definition: SWF.h:56
Definition: SWF.h:147
NB: Error to appear in ABC.
Definition: SWF.h:1502
Definition: SWF.h:1522
Definition: SWF.h:804
Definition: SWF.h:1393
Definition: SWF.h:1441
Definition: SWF.h:46
Definition: SWF.h:1379
Definition: SWF.h:1089
Definition: SWF.h:135
Definition: SWF.h:1348
Definition: SWF.h:126
Definition: SWF.h:1433
Definition: SWF.h:1424
NB: Error to appear in ABC.
Definition: SWF.h:1505
Definition: SWF.h:299
Definition: SWF.h:582
Definition: SWF.h:1453
Definition: SWF.h:1447
Definition: SWF.h:1442
Definition: SWF.h:1027
Definition: SWF.h:99
Definition: SWF.h:1438
swf8 (alexis is wrong), non-smoothed / hard edges
Definition: SWF.h:1530
Definition: SWF.h:865
Definition: SWF.h:1239
Definition: SWF.h:1473
Definition: SWF.h:295
Definition: SWF.h:118
Do: Nothing.
Definition: SWF.h:1476
Definition: SWF.h:805
Definition: SWF.h:1126
Definition: SWF.h:1436
Definition: SWF.h:94
See: 0x90 (ABC_ACTION_NEGATE), but forces type to int, not double.
Definition: SWF.h:1365
Definition: SWF.h:208
Definition: SWF.h:71
Definition: SWF.h:1055
Definition: SWF.h:1525
Definition: SWF.h:682
Definition: SWF.h:144
NB: Error to appear in ABC.
Definition: SWF.h:1496
Definition: SWF.h:92
Definition: SWF.h:1469
Definition: SWF.h:137
Definition: SWF.h:67
Definition: SWF.h:1164
Definition: SWF.h:63
Definition: SWF.h:155
FillType
SWF fill style types. Symbolic names copied from Ming.
Definition: SWF.h:1520
Definition: SWF.h:494
Definition: SWF.h:681
Definition: SWF.h:685
Definition: SWF.h:399
Definition: SWF.h:215
Anonymous namespace for callbacks, local functions, event handlers etc.
Definition: dbus_ext.cpp:40
Definition: SWF.h:1451
Definition: SWF.h:1340
See: 0x94 (ABC_ACTION_DECLOCAL), but forces types to int, not double.
Definition: SWF.h:1362
Definition: SWF.h:111
Definition: SWF.h:81
Definition: SWF.h:139
Definition: SWF.h:53
Definition: SWF.h:1125
Definition: SWF.h:97
Definition: SWF.h:294
Definition: SWF.h:76
Definition: SWF.h:806
Definition: SWF.h:1440
Definition: SWF.h:1158
Definition: SWF.h:110
Definition: SWF.h:86
Definition: SWF.h:41
Definition: SWF.h:1218
Do: Nothing, this is an intermediate code op, should not appear in ABC.
Definition: SWF.h:792
Definition: SWF.h:36
Definition: SWF.h:1058
Definition: SWF.h:971
Definition: SWF.h:1084
Definition: SWF.h:512
ActionType
SWF action ids. Symbolic names copied from Ming.
Definition: SWF.h:124
Definition: SWF.h:259
Definition: SWF.h:686
Definition: SWF.h:140
Definition: SWF.h:1046
See: 0x93 (ABC_ACTION_DECREMENT), but forces types to int, not double.
Definition: SWF.h:1356
Definition: SWF.h:573
Definition: SWF.h:1072
Definition: SWF.h:1377
Definition: SWF.h:128
NB: It is an error for this to appear.
Definition: SWF.h:1182
Definition: GnashKey.h:161
Definition: SWF.h:1225
Definition: SWF.h:45
NB: Error to appear in ABC.
Definition: SWF.h:1499
Definition: SWF.h:1021
Definition: SWF.h:296
Definition: SWF.h:436
Definition: SWF.h:98
Definition: SWF.h:680
Definition: SWF.h:1197
Definition: SWF.h:48
Definition: SWF.h:42
Definition: SWF.h:244
Definition: SWF.h:603
Definition: SWF.h:1341
Definition: SWF.h:485
Definition: SWF.h:354
Definition: SWF.h:69
Definition: SWF.h:164
Definition: SWF.h:1330
Definition: SWF.h:105
Definition: SWF.h:89
NB: It seems an error for this to appear.
Definition: SWF.h:1481
Definition: SWF.h:219
Definition: SWF.h:1344
Definition: SWF.h:1246
Definition: SWF.h:1465
Definition: SWF.h:249
NB: It is an error for this to appear.
Definition: SWF.h:1185
Definition: SWF.h:677
Definition: SWF.h:84
Definition: SWF.h:231
Definition: SWF.h:1343
abc_action_type
Definition: SWF.h:337
Definition: SWF.h:51
Definition: SWF.h:260
ECMA-262 "Abstract Equality Comparison".
Definition: SWF.h:256
Definition: SWF.h:1132
Definition: SWF.h:1121
Definition: SWF.h:152
Definition: SWF.h:964
Definition: SWF.h:679
Definition: SWF.h:1527
Definition: SWF.h:1380
Definition: GnashKey.h:166
Definition: SWF.h:201
Definition: SWF.h:1187
Definition: SWF.h:59
Definition: SWF.h:57
Definition: SWF.h:1003
std::ostream & operator<<(std::ostream &o, const ShapeRecord &sh)
Definition: ShapeRecord.cpp:600
Definition: SWF.h:39
Definition: SWF.h:1403
Definition: SWF.h:611
Definition: SWF.h:678
Definition: SWF.h:1454
Definition: SWF.h:1119
Definition: SWF.h:80
Definition: SWF.h:64
Definition: SWF.h:1033
Definition: SWF.h:261
Definition: SWF.h:90
aka GOTOFRAME2
Definition: SWF.h:213
Definition: SWF.h:107
Definition: SWF.h:156
Definition: SWF.h:980
Definition: SWF.h:1009
Definition: SWF.h:115
Definition: SWF.h:1443
Definition: SWF.h:91
Definition: SWF.h:93
NB: Error to appear in ABC.
Definition: SWF.h:1484
Definition: SWF.h:673
Definition: SWF.h:887
Definition: SWF.h:62
Definition: SWF.h:624
Definition: SWF.h:1057
Definition: SWF.h:157
Definition: SWF.h:216
Definition: SWF.h:642
Definition: SWF.h:1450
Definition: SWF.h:108
Definition: SWF.h:132
Definition: SWF.h:647
Do: Unknown purpose, Tamarin does nothing.
Definition: SWF.h:397
Definition: SWF.h:65
Definition: SWF.h:1342
Definition: SWF.h:133
Definition: SWF.h:1060
Definition: SWF.h:1526
Definition: SWF.h:85
Definition: SWF.h:1273
Definition: SWF.h:106
Definition: SWF.h:1444
Definition: SWF.h:1109
NB: Error to appear in ABC.
Definition: SWF.h:1490
Definition: SWF.h:79
Definition: SWF.h:68
Definition: SWF.h:60
InterpolationMode
Definition: SWF.h:1543
Definition: SWF.h:1179
Definition: SWF.h:1461
Definition: SWF.h:1102
Definition: SWF.h:893
Definition: SWF.h:458
Definition: SWF.h:1056
Definition: SWF.h:248
Definition: SWF.h:1113
Definition: SWF.h:409
Definition: SWF.h:305
NB: Error to appear in ABC.
Definition: SWF.h:1487
Definition: SWF.h:418
Definition: SWF.h:66
Definition: SWF.h:150
Definition: SWF.h:52
Definition: SWF.h:257
Definition: SWF.h:43
Definition: SWF.h:49
See: 0x91 (ABC_ACTION_INCREMENT), but forces types to int, not double.
Definition: SWF.h:1353
Definition: SWF.h:83
Definition: SWF.h:114
Definition: SWF.h:1347
AS3 Actions go below here.
Definition: SWF.h:340
Definition: SWF.h:1189
Definition: SWF.h:808
Definition: SWF.h:1449
Definition: SWF.h:326
Definition: SWF.h:1323
Definition: SWF.h:209
Definition: SWF.h:450
Definition: SWF.h:1039
Definition: SWF.h:1259
Definition: SWF.h:1524
Definition: SWF.h:298
Definition: SWF.h:82
Definition: SWF.h:289
Definition: SWF.h:160
Definition: SWF.h:1382
Definition: SWF.h:476
Definition: SWF.h:1095
Definition: SWF.h:117
Definition: SWF.h:1523
SWF7.
Definition: SWF.h:195
Definition: SWF.h:381
Definition: SWF.h:297
Definition: SWF.h:807
Definition: SWF.h:142
Definition: SWF.h:325
Definition: SWF.h:1153
Definition: SWF.h:1538
Definition: SWF.h:143
See: 0xA1 (ABC_ACTION_SUBTRACT), but forces type to int.
Definition: SWF.h:1371
Definition: SWF.h:153
Definition: SWF.h:687
Definition: SWF.h:109
Definition: SWF.h:941
Definition: SWF.h:70
NB: Error to appear in ABC.
Definition: SWF.h:1508
Definition: SWF.h:151
Definition: SWF.h:204
Definition: SWF.h:206
Definition: SWF.h:1079
Definition: SWF.h:1345
Definition: SWF.h:1388
Definition: SWF.h:1350
Definition: SWF.h:1295
Definition: SWF.h:1204
Definition: SWF.h:328
Definition: SWF.h:262
Definition: SWF.h:159
Definition: SWF.h:250
Definition: SWF.h:1446
Definition: SWF.h:136
Definition: SWF.h:104
Definition: SWF.h:548
Definition: SWF.h:202
Definition: SWF.h:230
Definition: SWF.h:73
Definition: SWF.h:196
Definition: SWF.h:1068
See: 0xA0 (ABC_ACTION_ADD), but forces type to int.
Definition: SWF.h:1368
Definition: SWF.h:1211
Definition: SWF.h:1410
Definition: SWF.h:263
Definition: SWF.h:116
Definition: SWF.h:44
Definition: SWF.h:138
Definition: SWF.h:1448
Definition: SWF.h:134
Definition: SWF.h:467
Definition: SWF.h:217
Definition: SWF.h:329
Definition: SWF.h:684
Definition: SWF.h:102
Definition: SWF.h:50
Definition: SWF.h:911
Definition: SWF.h:199
Definition: SWF.h:198
Definition: SWF.h:58
Definition: SWF.h:1439
Definition: SWF.h:145
Definition: SWF.h:87
Definition: SWF.h:207
swf8 (alexis is wrong), non-smoothed / hard edges
Definition: SWF.h:1533
Definition: SWF.h:100
Definition: SWF.h:300
Definition: SWF.h:182
Definition: SWF.h:1123
n – an Undefined object.
Definition: SWF.h:580
Definition: SWF.h:1170
Definition: SWF.h:32
Definition: SWF.h:54
Definition: SWF.h:1437
Definition: SWF.h:1378
Definition: SWF.h:243
Definition: SWF.h:214
Definition: SWF.h:279
Definition: SWF.h:1061
Definition: SWF.h:1232
Definition: SWF.h:1176
Definition: SWF.h:617
Definition: GnashKey.h:331
Definition: SWF.h:258
Definition: SWF.h:1346
Definition: SWF.h:1478
Definition: SWF.h:78
Definition: SWF.h:96
Definition: SWF.h:1145
Definition: SWF.h:1383
Definition: SWF.h:703
Definition: SWF.h:200
Definition: SWF.h:40
Definition: SWF.h:400
Definition: SWF.h:866
See: 0xA2 (ABC_ACTION_MULTIPLY), but forces type to int.
Definition: SWF.h:1374
Definition: SWF.h:1252
Do: Nothing, this is an intermediate code op, should not appear in ABC.
Definition: SWF.h:778
Definition: SWF.h:1178
Definition: SWF.h:863
NB: It is an error for this to appear.
Definition: SWF.h:1457
Definition: SWF.h:1266
Definition: SWF.h:101
Definition: SWF.h:1398
Do: Return an Undefined object up the callstack.
Definition: SWF.h:750
Definition: SWF.h:37
NB: Error to appear in ABC.
Definition: SWF.h:1493
Definition: SWF.h:1316
Definition: SWF.h:74