[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash/server swf.h
From: |
strk |
Subject: |
[Gnash-commit] gnash/server swf.h |
Date: |
Fri, 03 Feb 2006 15:46:49 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch:
Changes by: strk <address@hidden> 06/02/03 15:46:49
Modified files:
server : swf.h
Log message:
Added ACTION_EXTENDS, ACTION_IMPLEMENTS, ACTION_CASTOBJECT
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/gnash/server/swf.h.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
Patches:
Index: gnash/server/swf.h
diff -u gnash/server/swf.h:1.1 gnash/server/swf.h:1.2
--- gnash/server/swf.h:1.1 Fri Feb 3 12:46:04 2006
+++ gnash/server/swf.h Fri Feb 3 15:46:49 2006
@@ -84,12 +84,15 @@
DEFINEBITSPTR = 1023
} tag_type;
- /// SWF action ids. Symbolc names copied from Ming
+ /// SWF action ids. Symbolc names copied from Ming.
+ //
+ /// For semantic of each action see:
+ /// http://sswf.sourceforge.net/SWFalexref.html
+ ///
typedef enum
{
ACTION_END = 0x00,
- /* v3 actions */
ACTION_NEXTFRAME = 0x04,
ACTION_PREVFRAME = 0x05,
ACTION_PLAY = 0x06,
@@ -101,8 +104,6 @@
ACTION_WAITFORFRAME = 0x8A,
ACTION_SETTARGET = 0x8B,
ACTION_GOTOLABEL = 0x8C,
-
- /* v4 actions */
ACTION_ADD = 0x0A,
ACTION_SUBTRACT = 0x0B,
ACTION_MULTIPLY = 0x0C,
@@ -129,7 +130,34 @@
ACTION_STARTDRAGMOVIE = 0x27,
ACTION_STOPDRAGMOVIE = 0x28,
ACTION_STRINGCOMPARE = 0x29,
- ACTION_THROW = 0x2a,
+ ACTION_THROW = 0x2A,
+
+ /// SWF7
+ ///
+ /// The Cast Object action makes sure that the object
+ /// o1 is an instance of the class s2. If it is the case,
+ /// then o1 is pushed back onto the stack. Otherwise Null is
+ /// pushed back onto the stack. The comparison is identical
+ /// to the one applied by the Instance Of action.
+ ///
+ /// See:
+ ///
http://sswf.sourceforge.net/SWFalexref.html#action_cast_object
+ ///
+ ACTION_CASTOBJECT = 0x2B,
+
+ /// SWF7
+ ///
+ /// This action declares an object as a sub-class of
+ /// one or more interfaces. The number of interfaces has to
+ /// be indicated by i2. An interface is referenced by its
+ /// name (which happens to be the same as the constructor
+ /// function name.)
+ ///
+ /// See:
+ ///
http://sswf.sourceforge.net/SWFalexref.html#action_implements
+ ///
+ ACTION_IMPLEMENTS = 0x2C,
+
ACTION_RANDOM = 0x30,
ACTION_MBLENGTH = 0x31,
ACTION_ORD = 0x32,
@@ -138,7 +166,6 @@
ACTION_MBSUBSTRING = 0x35,
ACTION_MBORD = 0x36,
ACTION_MBCHR = 0x37,
-
ACTION_WAITFORFRAMEEXPRESSION = 0x8D,
ACTION_PUSHDATA = 0x96,
ACTION_BRANCHALWAYS = 0x99,
@@ -146,8 +173,6 @@
ACTION_BRANCHIFTRUE = 0x9D,
ACTION_CALLFRAME = 0x9E,
ACTION_GOTOEXPRESSION = 0x9F,
-
- /* v5 actions */
ACTION_DELETEVAR = 0x3A,
ACTION_DELETE = 0x3B,
ACTION_VAREQUALS = 0x3C, // DEFINELOCAL actually
@@ -183,6 +208,29 @@
ACTION_SHIFTRIGHT = 0x64,
ACTION_SHIFTRIGHT2 = 0x65,
ACTION_STRICTEQ = 0x66,
+
+ ///
+ /// SWF7
+ ///
+ /// The Extends action will be used to define a new object
+ /// which extends another object. The declaration in
+ /// ActionScript is:
+ ///
+ /// class A extends B;
+ ///
+ /// In an SWF action script, you don't exactly declare
+ /// objects, you actually instantiate them and define their
+ /// functions. This action creates a new object named s2
+ /// which is an extension of the object s1.
+ ///
+ /// Use this action whenever you need to inherit an object
+ /// without calling its constructor.
+ ///
+ /// See:
+ /// http://sswf.sourceforge.net/SWFalexref.html#action_extends
+ ///
+ ACTION_EXTENDS = 0x69,
+
ACTION_CONSTANTPOOL = 0x88,
ACTION_TRY = 0x8f,
ACTION_WITH = 0x94,
- [Gnash-commit] gnash/server swf.h,
strk <=