new functions
[swftools.git] / lib / modules / swftools.c
index e92b44f..b192f33 100644 (file)
@@ -891,6 +891,26 @@ void swf_RelocateDepth(SWF*swf, char*bitmap)
     }
 }
 
+U8 swf_isShapeTag(TAG*tag)
+{
+    if(tag->id == ST_DEFINESHAPE ||
+       tag->id == ST_DEFINESHAPE2 ||
+       tag->id == ST_DEFINESHAPE3) 
+        return 1;
+    return 0;
+}
+
+U8  swf_isImageTag(TAG*tag)
+{
+    if(tag->id == ST_DEFINEBITSJPEG || 
+       tag->id == ST_DEFINEBITSJPEG2 || 
+       tag->id == ST_DEFINEBITSJPEG3 ||
+       tag->id == ST_DEFINEBITSLOSSLESS || 
+       tag->id == ST_DEFINEBITSLOSSLESS2)
+        return 1;
+    return 0;
+}
+
 TAG* swf_Concatenate (TAG*list1,TAG*list2)
 {
     TAG*tag=0,*lasttag=0;
@@ -944,7 +964,7 @@ static int tagHash(TAG*tag)
         a >>= 8;
         a += tag->data[t]*0xefbc35a5*b*(t+1);
     }
-    return a;
+    return a&0x7fffffff; //always return unsigned
 }
 
 void swf_Optimize(SWF*swf)