X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.h;h=d64664a10fc3cc026e1ff58256be4aaf7f4537c9;hb=1dddda0e549c7b754cdb152c702cfe7103ccbbf3;hp=ac17e9050e932d339929bd296163579442492376;hpb=aee9de2c6eb23628e54b6896f5b441d9b39317c1;p=swftools.git diff --git a/lib/rfxswf.h b/lib/rfxswf.h index ac17e90..d64664a 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -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); @@ -419,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); @@ -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 ! @@ -550,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); @@ -567,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); @@ -649,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);