X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=lib%2Frfxswf.h;h=f2b36dbad322ab485c6dd29d4e9a268b05dd2499;hb=78763d172d530ae1c23c0e19f3d2cc2933859264;hp=db6617625e1f558ac15a17cd6c889d05f85ebb0b;hpb=a970a6438fa892d043faac61ea6e27c8c88f79fa;p=swftools.git diff --git a/lib/rfxswf.h b/lib/rfxswf.h index db66176..f2b36db 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -95,7 +95,7 @@ typedef struct _MATRIX } MATRIX, * LPMATRIX; typedef struct _CXFORM -{ S16 a0, a1; +{ S16 a0, a1; /* mult, add */ S16 r0, r1; S16 g0, g1; S16 b0, b1; @@ -177,6 +177,11 @@ void swf_FoldAll(SWF*swf); void swf_UnFoldAll(SWF*swf); void swf_FoldSprite(TAG*tag); void swf_UnFoldSprite(TAG*tag); +int swf_IsFolded(TAG*tag); + +// tag reordering: + +void swf_OptimizeTagOrder(SWF*swf); // basic routines: @@ -224,6 +229,13 @@ int swf_SetCXForm(TAG * t,CXFORM * cx,U8 alpha); int swf_SetRGB(TAG * t,RGBA * col); int swf_SetRGBA(TAG * t,RGBA * col); +// helper functions: + +void swf_ExpandRect(SRECT*src, SPOINT add); +void swf_ExpandRect2(SRECT*src, SRECT*add); +SPOINT swf_TurnPoint(SPOINT p, MATRIX* m); +SRECT swf_TurnRect(SRECT r, MATRIX* m); + // Function Macros #define swf_GetS8(tag) ((S8)swf_GetU8(tag)) @@ -231,6 +243,7 @@ int swf_SetRGBA(TAG * t,RGBA * col); #define swf_GetS32(tag) ((S32)swf_GetU32(tag)) #define swf_GetCoord(tag) ((SCOORD)swf_GetU32(tag)) #define swf_GetFixed(tag) ((SFIXED)swf_GetU32(tag)) +#define swf_GetString(t) ((char*)(&(t)->data[(t)->pos])) #define swf_SetS8(tag,v) swf_SetU8(tag,(U8)v) #define swf_SetS16(tag,v) swf_SetU16(tag,(U16)v)