X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Frfxswf.h;h=cbf4b1fe53627255840e07cf6519d5837ffd51e3;hb=7e33ed808fc5bcf50c90a5e699c9ab22613a3255;hp=4c94cb48043509e54bf340f675b209be2d4d2851;hpb=9ad02f173cca3f7c0d51f641d0d668219a561e7d;p=swftools.git diff --git a/lib/rfxswf.h b/lib/rfxswf.h index 4c94cb4..cbf4b1f 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -267,6 +267,7 @@ int swf_VerifyPassword(TAG * t, const char * password); void swf_ExpandRect(SRECT*src, SPOINT add); void swf_ExpandRect2(SRECT*src, SRECT*add); +void swf_ExpandRect3(SRECT*src, SPOINT center, int radius); SPOINT swf_TurnPoint(SPOINT p, MATRIX* m); SRECT swf_TurnRect(SRECT r, MATRIX* m); @@ -491,6 +492,11 @@ typedef struct SHAPE * shape; } SWFGLYPH; +typedef struct _FONTUSAGE +{ int* chars; + char is_reduced; +} FONTUSAGE, * LPFONTUSAGE; + #define FONT_STYLE_BOLD 1 #define FONT_STYLE_ITALIC 2 #define FONT_ENCODING_UNICODE 1 @@ -513,12 +519,11 @@ typedef struct _SWFFONT SWFGLYPH * glyph; U8 language; char ** glyphnames; + + FONTUSAGE * use; + } SWFFONT, * LPSWFFONT; -// does not support wide characters ! -typedef struct _FONTUSAGE -{ U8* code; -} FONTUSAGE, * LPFONTUSAGE; #define ET_HASTEXT 32768 #define ET_WORDWRAP 16384 @@ -557,10 +562,11 @@ int swf_FontIsItalic(SWFFONT * f); int swf_FontIsBold(SWFFONT * f); int swf_FontSetID(SWFFONT * f,U16 id); -int swf_FontReduce(SWFFONT * f,FONTUSAGE * use); +int swf_FontReduce(SWFFONT * f); -int swf_FontInitUsage(SWFFONT * f,FONTUSAGE * use); -int swf_FontUse(SWFFONT* f,FONTUSAGE * use,U8 * s); +int swf_FontInitUsage(SWFFONT * f); +int swf_FontUseGlyph(SWFFONT * f, int glyph); +int swf_FontUse(SWFFONT* f,U8 * s); int swf_FontSetDefine(TAG * t,SWFFONT * f); int swf_FontSetDefine2(TAG * t,SWFFONT * f); @@ -586,11 +592,13 @@ int swf_TextSetCharRecord(TAG * t,SWFFONT * font,U8 * s,int scale,U8 gbits,U8 ab int swf_TextPrintDefineText(TAG * t,SWFFONT * f); // Prints text defined in tag t with font f to stdout -/* notice: if you set the fontid, make sure the corresponding font has layout information */ +void swf_FontPrepareForEditText(SWFFONT * f); + +/* notice: if you set the fontid, make sure you call swf_FontPrepareForEditText() for the font first */ void swf_SetEditText(TAG*tag, U16 flags, SRECT r, char*text, RGBA*color, int maxlength, U16 font, U16 height, EditTextLayout*layout, char*variable); -SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale, MATRIX* m); +SRECT swf_SetDefineText(TAG*tag, SWFFONT*font, RGBA*rgb, char*text, int scale); void swf_DrawText(drawer_t*draw, SWFFONT*font, int size, char*text); @@ -600,7 +608,7 @@ SWFFONT* swf_LoadTrueTypeFont(char*filename); SWFFONT* swf_LoadT1Font(char*filename); SWFFONT* swf_LoadFont(char*filename); -void swf_SetLoadFontParameters(int scale, int skip_unused); +void swf_SetLoadFontParameters(int scale, int skip_unused, int full_unicode); // swfdump.c @@ -881,7 +889,7 @@ int swf_ObjectMove(TAG * t,U16 depth,MATRIX * m,CXFORM * cx); typedef struct _SWFPLACEOBJECT { U16 depth; U16 id; // may be 0 - bool move; //true: move/replace character, false: set character + char move; //true: move/replace character, false: set character MATRIX matrix; CXFORM cxform; U16 ratio; @@ -923,7 +931,7 @@ typedef struct _VIDEOSTREAM void swf_SetVideoStreamDefine(TAG*tag, VIDEOSTREAM*stream, U16 frames, U16 width, U16 height); void swf_SetVideoStreamIFrame(TAG*tag, VIDEOSTREAM*s, RGBA*pic, int quant/* 1-31, 1=best quality, 31=best compression*/); void swf_SetVideoStreamPFrame(TAG*tag, VIDEOSTREAM*s, RGBA*pic, int quant/* 1-31, 1=best quality, 31=best compression*/); -void swf_SetVideoStreamMover(TAG*tag, VIDEOSTREAM*s, signed char* movex, signed char* movey, int quant); +void swf_SetVideoStreamMover(TAG*tag, VIDEOSTREAM*s, signed char* movex, signed char* movey, void** image, int quant); void swf_VideoStreamClear(VIDEOSTREAM*stream); #ifdef __cplusplus