added workaround for broken Flash text selection
[swftools.git] / lib / rfxswf.h
index d4b0424..a3420c9 100644 (file)
@@ -151,6 +151,9 @@ typedef struct _SOUNDINFO
 #define FILEATTRIBUTE_USENETWORK 1
 #define FILEATTRIBUTE_AS3 8
 #define FILEATTRIBUTE_SYMBOLCLASS 16
+#define FILEATTRIBUTE_USEACCELERATEDBLIT 32
+#define FILEATTRIBUTE_USEHARDWAREGPU 64
+
 typedef struct _SWF
 { U8            fileVersion;
   U8           compressed;     // SWF or SWC?
@@ -169,6 +172,7 @@ int  swf_ReadSWF2(reader_t*reader, SWF * swf);   // Reads SWF via callback
 int  swf_ReadSWF(int handle,SWF * swf);     // Reads SWF to memory (malloc'ed), returns length or <0 if fails
 int  swf_WriteSWF2(writer_t*writer, SWF * swf);     // Writes SWF via callback, returns length or <0 if fails
 int  swf_WriteSWF(int handle,SWF * swf);    // Writes SWF to file, returns length or <0 if fails
+int  swf_SaveSWF(SWF * swf, char*filename);
 int  swf_WriteCGI(SWF * swf);               // Outputs SWF with valid CGI header to stdout
 void swf_FreeTags(SWF * swf);               // Frees all malloc'ed memory for swf
 SWF* swf_CopySWF(SWF*swf);
@@ -227,6 +231,7 @@ U8    swf_GetU8(TAG * t);                   // resets Bitcount
 U16   swf_GetU16(TAG * t);
 #define swf_GetS16(tag)     ((S16)swf_GetU16(tag))
 U32   swf_GetU32(TAG * t);
+float swf_GetF16(TAG * t);
 void  swf_GetRGB(TAG * t, RGBA * col);
 void  swf_GetRGBA(TAG * t, RGBA * col);
 void  swf_GetGradient(TAG * t, GRADIENT * gradient, char alpha);
@@ -237,6 +242,7 @@ int   swf_SetU8(TAG * t,U8 v);              // resets Bitcount
 int   swf_SetU16(TAG * t,U16 v);
 void  swf_SetS16(TAG * t,int v);
 int   swf_SetU32(TAG * t,U32 v);
+void  swf_SetF16(TAG * t,float f);
 void  swf_SetString(TAG*t,const char*s);
 
 /* abc datatypes */
@@ -911,6 +917,22 @@ int swf_ObjectMove(TAG * t,U16 depth,MATRIX * m,CXFORM * cx);
 #define PF2_ASBITMAP     0x04
 //...
 
+#define BLENDMODE_NORMAL 0
+#define BLENDMODE_NORMAL2 1
+#define BLENDMODE_LAYER 2
+#define BLENDMODE_MULTIPLY 3
+#define BLENDMODE_SCREEN 4
+#define BLENDMODE_LIGHTEN 5
+#define BLENDMODE_DARKEN 6
+#define BLENDMODE_ADD 7
+#define BLENDMODE_SUBSTRACT 8
+#define BLENDMODE_DIFFERENCE 9
+#define BLENDMODE_INVERT 10
+#define BLENDMODE_ALPHA 11
+#define BLENDMODE_ERASE 12
+#define BLENDMODE_OVERLAY 13
+#define BLENDMODE_HARDLIGHT 14
+
 typedef struct _SWFPLACEOBJECT {
     U16 depth;
     U16 id; // may be 0