View Javadoc

1   // Copyright 2001, FreeHEP.
2   package org.freehep.graphicsio.swf;
3   
4   import org.freehep.util.io.ActionSet;
5   
6   /**
7    * Defines the actions for SWF.
8    * 
9    * @author Mark Donszelmann
10   * @author Charles Loomis
11   * @version $Id: SWFActionSet.java 8584 2006-08-10 23:06:37Z duns $
12   */
13  public class SWFActionSet extends ActionSet {
14  
15      public SWFActionSet(int version) {
16  
17          super();
18  
19          // Initialize actions
20          // version 3
21          if (version >= 3) {
22              addAction(new SWFAction.GotoFrame());
23              addAction(new SWFAction.GetURL());
24              addAction(new SWFAction.NextFrame());
25              addAction(new SWFAction.PreviousFrame());
26              addAction(new SWFAction.Play());
27              addAction(new SWFAction.Stop());
28              addAction(new SWFAction.ToggleQuality());
29              addAction(new SWFAction.StopSounds());
30              addAction(new SWFAction.WaitForFrame());
31              addAction(new SWFAction.SetTarget());
32              addAction(new SWFAction.GotoLabel());
33          }
34  
35          // version 4
36          if (version >= 4) {
37              addAction(new SWFAction.Add()); // 0x0a
38              addAction(new SWFAction.Subtract()); // 0x0b
39              addAction(new SWFAction.Multiply()); // 0x0c
40              addAction(new SWFAction.Divide()); // 0x0d
41              addAction(new SWFAction.WaitForFrame2()); // 0x8d
42              addAction(new SWFAction.Equals()); // 0x0e
43              addAction(new SWFAction.Less()); // 0x0f
44              addAction(new SWFAction.And()); // 0x10
45              addAction(new SWFAction.Or()); // 0x11
46              addAction(new SWFAction.Not()); // 0x12
47              addAction(new SWFAction.StringEquals()); // 0x13
48              addAction(new SWFAction.StringLength()); // 0x14
49              addAction(new SWFAction.StringExtract()); // 0x15
50              addAction(new SWFAction.Push()); // 0x96
51              addAction(new SWFAction.Pop()); // 0x17
52              addAction(new SWFAction.ToInteger()); // 0x18
53              addAction(new SWFAction.Jump()); // 0x99
54              addAction(new SWFAction.GetURL2()); // 0x9a
55  
56              addAction(new SWFAction.GetVariable()); // 0x1c
57              addAction(new SWFAction.SetVariable()); // 0x1d
58              addAction(new SWFAction.If()); // 0x9d
59              addAction(new SWFAction.Call()); // 0x9e
60              addAction(new SWFAction.GotoFrame2()); // 0x9f
61              addAction(new SWFAction.SetTarget2()); // 0x20
62              addAction(new SWFAction.StringAdd()); // 0x21
63              addAction(new SWFAction.GetProperty()); // 0x22
64              addAction(new SWFAction.SetProperty()); // 0x23
65              addAction(new SWFAction.CloneSprite()); // 0x24
66              addAction(new SWFAction.RemoveSprite()); // 0x25
67              addAction(new SWFAction.Trace()); // 0x26
68              addAction(new SWFAction.StartDrag()); // 0x27
69              addAction(new SWFAction.EndDrag()); // 0x28
70              addAction(new SWFAction.StringLess()); // 0x29
71  
72              addAction(new SWFAction.RandomNumber()); // 0x30
73              addAction(new SWFAction.MBStringLength()); // 0x31
74              addAction(new SWFAction.CharToAscii()); // 0x32
75              addAction(new SWFAction.AsciiToChar()); // 0x33
76              addAction(new SWFAction.GetTime()); // 0x34
77              addAction(new SWFAction.MBStringExtract()); // 0x35
78              addAction(new SWFAction.MBCharToAscii()); // 0x36
79              addAction(new SWFAction.MBAsciiToChar()); // 0x37
80          }
81  
82          // version 5
83          if (version >= 5) {
84              addAction(new SWFAction.StoreRegister()); // 0x87
85              addAction(new SWFAction.ConstantPool()); // 0x88
86  
87              addAction(new SWFAction.With()); // 0x94
88              addAction(new SWFAction.DefineFunction()); // 0x9b
89  
90              addAction(new SWFAction.Delete()); // 0x3a
91              addAction(new SWFAction.Delete2()); // 0x3b
92              addAction(new SWFAction.DefineLocal()); // 0x3c
93              addAction(new SWFAction.CallFunction()); // 0x3d
94              addAction(new SWFAction.Return()); // 0x3e
95              addAction(new SWFAction.Modulo()); // 0x3f
96  
97              addAction(new SWFAction.NewObject()); // 0x40
98              addAction(new SWFAction.DefineLocal2()); // 0x41
99              addAction(new SWFAction.InitArray()); // 0x42
100             addAction(new SWFAction.InitObject()); // 0x43
101             addAction(new SWFAction.TypeOf()); // 0x44
102             addAction(new SWFAction.TargetPath()); // 0x45
103             addAction(new SWFAction.Enumerate()); // 0x46
104             addAction(new SWFAction.Add2()); // 0x47
105             addAction(new SWFAction.Less2()); // 0x48
106             addAction(new SWFAction.Equals2()); // 0x49
107             addAction(new SWFAction.ToNumber()); // 0x4a
108             addAction(new SWFAction.ToString()); // 0x4b
109             addAction(new SWFAction.PushDuplicate()); // 0x4c
110             addAction(new SWFAction.StackSwap()); // 0x4d
111             addAction(new SWFAction.GetMember()); // 0x4e
112             addAction(new SWFAction.SetMember()); // 0x4f
113 
114             addAction(new SWFAction.Increment()); // 0x50
115             addAction(new SWFAction.Decrement()); // 0x51
116             addAction(new SWFAction.CallMethod()); // 0x52
117             addAction(new SWFAction.NewMethod()); // 0x53
118 
119             addAction(new SWFAction.BitAnd()); // 0x60
120             addAction(new SWFAction.BitOr()); // 0x61
121             addAction(new SWFAction.BitXor()); // 0x62
122             addAction(new SWFAction.BitLShift()); // 0x63
123             addAction(new SWFAction.BitRShift()); // 0x64
124             addAction(new SWFAction.BitURShift()); // 0x65
125         }
126 
127         // version 6
128         if (version >= 6) {
129             addAction(new SWFAction.InstanceOf()); // 0x54
130             addAction(new SWFAction.Enumerate2()); // 0x55
131 
132             addAction(new SWFAction.StrictEquals()); // 0x66
133             addAction(new SWFAction.Greater()); // 0x67
134             addAction(new SWFAction.StringGreater()); // 0x68
135         }
136     }
137 }