undo previous change
[swftools.git] / lib / rfxswf.h
index 0baf61e..5bfeb5d 100644 (file)
@@ -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,12 +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
@@ -631,6 +645,8 @@ int swf_FontReduce_swfc(SWFFONT * f);
 
 int swf_FontInitUsage(SWFFONT * f);
 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, U16 size);
 int swf_FontUse(SWFFONT* f,U8 * s);
@@ -643,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);
 
@@ -920,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
@@ -962,7 +979,7 @@ typedef struct _SWFPLACEOBJECT {
     MATRIX matrix;
     CXFORM cxform;
     U16 ratio;
-    U8*name;
+    char*name;
     U16 clipdepth;
     ActionTAG* actions;
     U8 blendmode;