pointers which are freed are now cleanly set to 0 afterwards.
[swftools.git] / lib / rfxswf.h
index ac17e90..47baa85 100644 (file)
@@ -134,8 +134,6 @@ typedef struct _TAG             // NEVER access a Tag-Struct directly !
   U32         len;            // for Set-Access
   U32         pos;            // for Get-Access
 
-  int           frame;          // not really up-to-date
-
   struct _TAG * next;
   struct _TAG * prev;
 
@@ -216,7 +214,6 @@ U32   swf_GetTagPos(TAG * t);
 TAG * swf_NextTag(TAG * t);
 TAG * swf_PrevTag(TAG * t);
 
-int   swf_GetFrameNo(TAG * t);              // should be renamed to TagGetFrame
 U16   swf_GetTagID(TAG * t);                // ... TagGetID
 U32   swf_GetTagLen(TAG * t);             // ... TagGetTagLen
 U8*   swf_GetTagLenPtr(TAG * t);
@@ -436,6 +433,28 @@ SRECT         swf_GetShapeBoundingBox(SHAPE2*shape);
 void       swf_SetShape2(TAG*tag, SHAPE2*shape);
 void      swf_Shape2Free(SHAPE2 * s);
 
+// swfdraw.c
+
+typedef struct _FPOINT
+{
+    float x,y;
+} FPOINT;
+
+typedef struct _SWFSHAPEDRAWER
+{
+    FPOINT pos;
+    SHAPE*shape;
+    TAG*tag;
+    int tagfree;
+} SWFSHAPEDRAWER;
+
+void swf_DrawerInit(SWFSHAPEDRAWER*draw);
+void swf_DrawerMoveTo(SWFSHAPEDRAWER*draw, FPOINT * to);
+void swf_DrawerLineTo(SWFSHAPEDRAWER*draw, FPOINT * to);
+void swf_DrawerSplineTo(SWFSHAPEDRAWER*draw, FPOINT *  control1, FPOINT*  to);
+void swf_DrawerCubicTo(SWFSHAPEDRAWER*draw, FPOINT*  control1, FPOINT* control2, FPOINT*  to);
+void swf_DrawerConicTo(SWFSHAPEDRAWER*draw, FPOINT*  control, FPOINT*  to);
+
 // swffont.c
 
 // does not support wide characters !
@@ -567,6 +586,7 @@ SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale);
 void swf_DumpHeader(FILE * f,SWF * swf);
 void swf_DumpMatrix(FILE * f,MATRIX * m);
 void swf_DumpTag(FILE * f,TAG * t); 
+void swf_DumpSWF(FILE * f,SWF*swf);
 char* swf_TagGetName(TAG*tag);
 void swf_DumpFont(SWFFONT * font);
 
@@ -649,6 +669,8 @@ int swf_SetJPEGBitsLines(JPEGBITS * jpegbits,U8 ** data,int n);
 int swf_SetJPEGBitsLine(JPEGBITS * jpegbits,U8 * data);
 int swf_SetJPEGBitsFinish(JPEGBITS * jpegbits);
 
+void swf_GetJPEGSize(char * fname, int*width, int*height);
+
 int swf_SetJPEGBits(TAG * t,char * fname,int quality);
 void swf_SetJPEGBits2(TAG * t,U16 width,U16 height,RGBA * bitmap,int quality);
 int swf_SetJPEGBits3(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality);