FreeBSD MD5 password hashing- initial revision.
[swftools.git] / lib / rfxswf.h
index ac8c936..d64664a 100644 (file)
@@ -6,9 +6,20 @@
 
    Copyright (c) 2000, 2001 Rainer Böhme <rfxswf@reflex-studio.de>
  
-   This file is distributed under the GPL, see file COPYING for details 
-
-*/
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
 
 #ifndef __RFX_SWF_INCLUDED__
 #define __RFX_SWF_INCLUDED__
@@ -123,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;
 
@@ -205,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);
@@ -408,8 +416,8 @@ int   swf_SetShapeBits(TAG * t,SHAPE * s);
 int   swf_SetShapeHeader(TAG * t,SHAPE * s); // one call for upper three functions
 
 int   swf_ShapeSetMove(TAG * t,SHAPE * s,S32 x,S32 y);
-int   swf_ShapeSetStyle(TAG * t,SHAPE * s,U16 line,U16 fill0,U16 fill1);
-int   swf_ShapeSetAll(TAG * t,SHAPE * s,S32 x,S32 y,U16 line,U16 fill0,U16 fill1);
+int   swf_ShapeSetStyle(TAG * t,SHAPE * s,int line,int fill0,int fill1);
+int   swf_ShapeSetAll(TAG * t,SHAPE * s,S32 x,S32 y,int line,int fill0,int fill1);
 
 int   swf_ShapeSetLine(TAG * t,SHAPE * s,S32 x,S32 y);
 int   swf_ShapeSetCurve(TAG * t,SHAPE * s,S32 x,S32 y,S32 ax,S32 ay);
@@ -425,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 !
@@ -539,7 +569,8 @@ void swf_FontFree(SWFFONT * f);
 U32 swf_TextGetWidth(SWFFONT * font,U8 * s,int scale);
 int swf_TextCountBits(SWFFONT * font,U8 * s,int scale,U8 * gbits,U8 * abits);
 
-int swf_TextSetInfoRecord(TAG * t,SWFFONT * font,U16 size,RGBA * color,S16 dx,S16 dy);
+#define SET_TO_ZERO 0x80000000
+int swf_TextSetInfoRecord(TAG * t,SWFFONT * font,U16 size,RGBA * color,int dx,int dy);
 int swf_TextSetCharRecord(TAG * t,SWFFONT * font,U8 * s,int scale,U8 gbits,U8 abits);
 
 int swf_TextPrintDefineText(TAG * t,SWFFONT * f);
@@ -556,6 +587,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);
 
@@ -638,6 +670,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);