new function isPseudoDefiningTag.
authorkramm <kramm>
Fri, 30 Nov 2001 09:28:44 +0000 (09:28 +0000)
committerkramm <kramm>
Fri, 30 Nov 2001 09:28:44 +0000 (09:28 +0000)
lib/modules/swftools.c
lib/rfxswf.h

index 2a6e542..47ce10e 100644 (file)
@@ -90,7 +90,7 @@ U16 swf_GetDefineID(TAG * t)
     case ST_DEFINEBUTTONSOUND:
     case ST_DEFINEFONT:
     case ST_DEFINEFONT2:
-    case ST_DEFINEFONTINFO:
+    case ST_DEFINEFONTINFO: //psedodefine
     case ST_DEFINETEXT:
     case ST_DEFINETEXT2:
     case ST_DEFINESOUND:
@@ -172,6 +172,12 @@ static int swf_spritetagids[] =
  -1
 };
 
+static int swf_pseudodefiningtagids[] = 
+{
+ ST_DEFINEFONTINFO,
+ -1
+};
+
 U8 swf_isAllowedSpriteTag(TAG * tag)
 {
     int id = tag->id;
@@ -198,6 +204,19 @@ U8 swf_isDefiningTag(TAG * tag)
     return 0; 
 }
 
+U8 swf_isPseudoDefiningTag(TAG * tag)
+{
+    int id = tag->id;
+    int t=0;
+    while(swf_pseudodefiningtagids[t]>=0)
+    {
+        if(swf_pseudodefiningtagids[t] == id) 
+            return 1;
+        t++;
+    }
+    return 0; 
+}
+
 U16 swf_GetDepth(TAG * t)
 // up to SWF 4.0
 { 
index be529a3..62d270d 100644 (file)
@@ -498,6 +498,7 @@ int swf_SetLosslessBitsGrayscale(TAG * t,U16 width,U16 height,U8 * bitmap);
 // swftools.c
 
 U8 swf_isDefiningTag(TAG * t);
+U8 swf_isPseudoDefiningTag(TAG * t);
 U8 swf_isAllowedSpriteTag(TAG * t);
 U16 swf_GetDefineID(TAG * t);
 U16 swf_GetPlaceID(TAG * t); //PLACEOBJECT, PLACEOBJECT2 (sometimes), REMOVEOBJECT