X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;ds=sidebyside;f=lib%2Frfxswf.h;h=5bfeb5dd3a4e279dbba431acd15add35ecf0fb73;hb=daf5378d1edb818b1f9afae973cd16a13272a127;hp=8c102c92f0a404cc39e1769f0c0d4905fcf5d971;hpb=9b57fcd7feaf69fd54447174b19f5f377706bb15;p=swftools.git diff --git a/lib/rfxswf.h b/lib/rfxswf.h index 8c102c9..5bfeb5d 100644 --- a/lib/rfxswf.h +++ b/lib/rfxswf.h @@ -449,6 +449,7 @@ typedef struct _SHAPELINE int swf_ShapeNew(SHAPE ** s); void swf_ShapeFree(SHAPE * s); +char swf_ShapeIsEmpty(SHAPE*s); int swf_GetSimpleShape(TAG * t,SHAPE ** s); // without Linestyle/Fillstyle Record int swf_SetSimpleShape(TAG * t,SHAPE * s); // without Linestyle/Fillstyle Record @@ -530,11 +531,25 @@ typedef struct SHAPE * shape; } SWFGLYPH; +typedef struct _SWFGLYPHPAIR +{ + U16 char1; + U16 char2; + int num; +} SWFGLYPHPAIR; + typedef struct _FONTUSAGE { int* chars; char is_reduced; int used_glyphs; int glyphs_specified; + U16 smallest_size; + + SWFGLYPHPAIR* neighbors; + int num_neighbors; + int neighbors_size; + int* neighbors_hash; + int neighbors_hash_size; } FONTUSAGE; #define FONT_STYLE_BOLD 1 @@ -629,9 +644,11 @@ int swf_FontReduce(SWFFONT * f); int swf_FontReduce_swfc(SWFFONT * f); int swf_FontInitUsage(SWFFONT * f); -int swf_FontUseGlyph(SWFFONT * f, int glyph); +int swf_FontUseGlyph(SWFFONT * f, int glyph, U16 size); +void swf_FontUsePair(SWFFONT * f, int char1, int char2); +int swf_FontUseGetPair(SWFFONT * f, int char1, int char2); int swf_FontUseAll(SWFFONT* f); -int swf_FontUseUTF8(SWFFONT * f, U8 * s); +int swf_FontUseUTF8(SWFFONT * f, U8 * s, U16 size); int swf_FontUse(SWFFONT* f,U8 * s); int swf_FontSetDefine(TAG * t,SWFFONT * f); @@ -642,6 +659,7 @@ void swf_FontSetAlignZones(TAG*t, SWFFONT *f); void swf_FontCreateLayout(SWFFONT*f); void swf_FontCreateAlignZones(SWFFONT * f); void swf_FontAddLayout(SWFFONT * f, int ascent, int descent, int leading); +void swf_FontPostprocess(SWF*swf); int swf_ParseDefineText(TAG * t, void(*callback)(void*self, int*chars, int*xpos, int nr, int fontid, int fontsize, int xstart, int ystart, RGBA* color), void*self); @@ -919,9 +937,9 @@ void action_fixjump(ActionMarker m1, ActionMarker m2); extern char*blendModeNames[]; -int swf_ObjectPlace(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const U8 * name); -int swf_ObjectPlaceClip(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const U8 * name, U16 clipaction); -int swf_ObjectPlaceBlend(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const U8 * name, U8 blendmode); +int swf_ObjectPlace(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const char* name); +int swf_ObjectPlaceClip(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const char* name, U16 clipaction); +int swf_ObjectPlaceBlend(TAG * t,U16 id,U16 depth,MATRIX * m,CXFORM * cx,const char* name, U8 blendmode); int swf_ObjectMove(TAG * t,U16 depth,MATRIX * m,CXFORM * cx); #define PF_MOVE 0x01 @@ -961,7 +979,7 @@ typedef struct _SWFPLACEOBJECT { MATRIX matrix; CXFORM cxform; U16 ratio; - U8*name; + char*name; U16 clipdepth; ActionTAG* actions; U8 blendmode;