minor fixes: swf_SetBits(), cleanup shape struct, fixed dumpfont
[swftools.git] / lib / rfxswf.h
index 7dbe091..a860b77 100644 (file)
@@ -250,20 +250,17 @@ typedef struct _SHAPE           // NEVER access a Shape-Struct directly !
   { LINESTYLE * data;
     U16         n;
   } linestyle;
-                  // note: changes of shape structure
-  struct                  // lead to incompatible .efont formats
+                  
+  struct                    
   { FILLSTYLE * data;
     U16         n;
   } fillstyle;
-
-  S32           px;
-  S32           py;
-  
   struct
   { U16         fill;
     U16         line;
   } bits;
-  
+                               // used by Get/SetSimpleShape and glyph handling
   U8 *          data;
   U32           bitlen;         // length of data in bits
 } SHAPE, * LPSHAPE;
@@ -319,7 +316,6 @@ typedef struct _SWFLAYOUT
 
 typedef struct
 { S16         advance;
-  U16         gid;            // Glyph-ID after DefineFont
   SHAPE *     shape;
 } SWFGLYPH;
 
@@ -329,8 +325,10 @@ typedef struct _SWFFONT
   U8 *          name;
   SWFLAYOUT *   layout;
   U16          numchars;
+  U16          maxascii; // highest mapped ascii value
   U8            flags; // bold/italic/unicode/ansi ...
-  U16  *       codes;
+  U16  *       glyph2ascii;
+  int  *       ascii2glyph;
   SWFGLYPH *   glyph;
 } SWFFONT, * LPSWFFONT;
 
@@ -357,10 +355,11 @@ int swf_FontUse(FONTUSAGE * use,U8 * s);
 int swf_FontSetDefine(TAG * t,SWFFONT * f);
 int swf_FontSetInfo(TAG * t,SWFFONT * f);
 
+// the following two functions are obsolete and will be removed soon
 int swf_FontExport(int handle,SWFFONT * f);
 int swf_FontImport(int handle,SWFFONT * * f);
 
-void swf_WriteFont(SWFFONT* font, char* filename, int useDefineFont2);
+void swf_WriteFont(SWFFONT* font, char* filename);
 SWFFONT* swf_ReadFont(char* filename);
 
 void swf_FontFree(SWFFONT * f);
@@ -485,8 +484,9 @@ void swf_uncgi();  // same behaviour as Steven Grimm's uncgi-library
 
 // swfaction.c
 
-ActionTAG* swf_GetActions(TAG*tag);
-void swf_SetActions(TAG*tag, ActionTAG*actions);
+ActionTAG* swf_ActionGet(TAG*tag);
+void swf_ActionFree(ActionTAG*tag);
+void swf_ActionSet(TAG*tag, ActionTAG*actions);
 void swf_DumpActions(ActionTAG*atag, char*prefix);
 void swf_ActionEnumerateURLs(ActionTAG*atag, char*(*callback)(char*));
 void swf_ActionEnumerateTargets(ActionTAG*atag, char*(*callback)(char*));