rfxswf cleanups: added prefixes and altered structure name conventions
[swftools.git] / lib / modules / swftext.c
index ef46afd..78b3bce 100644 (file)
 #define FF_SHIFTJIS     0x10
 #define FF_UNICODE      0x20
 
-int FontEnumerate(SWF * swf,void (*FontCallback) (U16,U8*))
+int swf_FontEnumerate(SWF * swf,void (*FontCallback) (U16,U8*))
 { int n;
   TAG * t;
   if (!swf) return -1;
-  t = swf->FirstTag;
+  t = swf->firstTag;
   n = 0;
 
   while (t)
-  { if (GetTagID(t)==ST_DEFINEFONTINFO)
+  { if (swf_GetTagID(t)==ST_DEFINEFONTINFO)
     { n++;
       if (FontCallback)
       { U16 id;
         int l;
         U8 s[257];
-        SaveTagPos(t);
-        SetTagPos(t,0);
+        swf_SaveTagPos(t);
+        swf_SetTagPos(t,0);
 
-        id  = GetU16(t);
-        l   = GetU8(t);
-        GetBlock(t,s,l);
+        id  = swf_GetU16(t);
+        l   = swf_GetU8(t);
+        swf_GetBlock(t,s,l);
         s[l] = 0;
 
         (FontCallback)(id,s); 
       
-        RestoreTagPos(t);
+        swf_RestoreTagPos(t);
       }
     }
-    t = NextTag(t);
+    t = swf_NextTag(t);
   }
   return n;
 }
 
-int FontExtract_DefineFont(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
+int swf_FontExtract_DefineFont(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
 { U16 fid;
-  SaveTagPos(t);
-  SetTagPos(t,0);
+  swf_SaveTagPos(t);
+  swf_SetTagPos(t,0);
 
-  fid = GetU16(t);
+  fid = swf_GetU16(t);
   if ((!id)||(id==fid))
   { U16 ofs[MAX_CHAR_PER_FONT];
     int n,i;
@@ -69,45 +69,45 @@ int FontExtract_DefineFont(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
     id = fid;
     f->id = fid;
 
-    ofs[0] = GetU16(t);
+    ofs[0] = swf_GetU16(t);
     n = ofs[0]/2;
 
-    for (i=1;i<n;i++) if (i<MAX_CHAR_PER_FONT) ofs[i] = GetU16(t); else GetU16(t);
-    for (i=0;i<n;i++) if (i<MAX_CHAR_PER_FONT) GetSimpleShape(t,&shapes[i]);
+    for (i=1;i<n;i++) if (i<MAX_CHAR_PER_FONT) ofs[i] = swf_GetU16(t); else swf_GetU16(t);
+    for (i=0;i<n;i++) if (i<MAX_CHAR_PER_FONT) swf_GetSimpleShape(t,&shapes[i]);
     
   }
 
-  RestoreTagPos(t);
+  swf_RestoreTagPos(t);
   return id;
 }
 
-int FontExtract_DefineFontInfo(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
+int swf_FontExtract_DefineFontInfo(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
 { U16 fid;
-  SaveTagPos(t);
-  SetTagPos(t,0);
+  swf_SaveTagPos(t);
+  swf_SetTagPos(t,0);
 
-  fid = GetU16(t);
+  fid = swf_GetU16(t);
   if (fid==id)
-  { U8 l = GetU8(t);
+  { U8 l = swf_GetU8(t);
     int i;
     
     if (l)
     { if (f->name) free(f->name);
       f->name = (U8*)malloc(l+1);
       if (f->name)
-      { GetBlock(t,f->name,l);
+      { swf_GetBlock(t,f->name,l);
         f->name[l] = 0;
       }
       else
-      { RestoreTagPos(t);
+      { swf_RestoreTagPos(t);
         return -1;
       }
     }
-    f->flags = GetU8(t);
+    f->flags = swf_GetU8(t);
 
     i = 0;
     while (shapes[i])
-    { U16 code = ((f->flags&FF_WIDECODES)?GetU16(t):GetU8(t))%MAX_CHAR_PER_FONT;
+    { U16 code = ((f->flags&FF_WIDECODES)?swf_GetU16(t):swf_GetU8(t))%MAX_CHAR_PER_FONT;
         
       f->glyph[code].shape = shapes[i];
       f->glyph[code].gid   = i;
@@ -117,14 +117,14 @@ int FontExtract_DefineFontInfo(int id,SWFFONT * f,TAG * t,SHAPE * * shapes)
     }
   }
 
-  RestoreTagPos(t);
+  swf_RestoreTagPos(t);
   return id;
 }
 
 #define FEDTJ_PRINT  0x01
 #define FEDTJ_MODIFY 0x02
 
-int FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs)
+int swf_FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs)
 { U16    cid;
   SRECT  r;
   MATRIX m;
@@ -133,37 +133,37 @@ int FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs)
 
   fid = 0;
 
-  SaveTagPos(t);
-  SetTagPos(t,0);
+  swf_SaveTagPos(t);
+  swf_SetTagPos(t,0);
 
-  cid = GetU16(t);
-  GetRect(t,&r);
-  GetMatrix(t,&m);
-  gbits = GetU8(t);
-  abits = GetU8(t);
+  cid = swf_GetU16(t);
+  swf_GetRect(t,&r);
+  swf_GetMatrix(t,&m);
+  gbits = swf_GetU8(t);
+  abits = swf_GetU8(t);
 
-  flags = GetU8(t);
+  flags = swf_GetU8(t);
   
   while(flags)
   { if (flags&TF_TEXTCONTROL)
-    { if (flags&TF_HASFONT) fid = GetU16(t);
+    { if (flags&TF_HASFONT) fid = swf_GetU16(t);
       if (flags&TF_HASCOLOR)
-      { GetU8(t); // rgb
-        GetU8(t);
-        GetU8(t);
-        if (GetTagID(t)==ST_DEFINETEXT2) GetU8(t);
+      { swf_GetU8(t); // rgb
+        swf_GetU8(t);
+        swf_GetU8(t);
+        if (swf_GetTagID(t)==ST_DEFINETEXT2) swf_GetU8(t);
       }
-      if (flags&TF_HASXOFFSET) GetS16(t);
-      if (flags&TF_HASYOFFSET) GetS16(t);
-      if (flags&TF_HASFONT) GetU16(t);
+      if (flags&TF_HASXOFFSET) swf_GetS16(t);
+      if (flags&TF_HASYOFFSET) swf_GetS16(t);
+      if (flags&TF_HASFONT) swf_GetU16(t);
     }
     else
     { int i;
       for (i=0;i<flags;i++)
       { int glyph;
         int adv;
-        glyph = GetBits(t,gbits);
-        adv = GetBits(t,abits);
+        glyph = swf_GetBits(t,gbits);
+        adv = swf_GetBits(t,abits);
         if (id==fid)                    // mitlesen ?
         { int code = f->codes[glyph];
           if (jobs&FEDTJ_PRINT) printf("%c",code);
@@ -173,14 +173,14 @@ int FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs)
       }
       if ((id==fid)&&(jobs&FEDTJ_PRINT)) printf("\n");
     }
-    flags = GetU8(t);
+    flags = swf_GetU8(t);
   }
   
-  RestoreTagPos(t);
+  swf_RestoreTagPos(t);
   return id;
 }  
 
-int FontExtract(SWF * swf,int id,SWFFONT * * font)
+int swf_FontExtract(SWF * swf,int id,SWFFONT * * font)
 { TAG * t;
   SWFFONT * f;
   SHAPE * shapes[MAX_CHAR_PER_FONT];
@@ -193,36 +193,36 @@ int FontExtract(SWF * swf,int id,SWFFONT * * font)
   memset(shapes,0x00,sizeof(shapes));
   memset(f,0x00,sizeof(SWFFONT));
 
-  t = swf->FirstTag;
+  t = swf->firstTag;
 
   while (t)
   { int nid = 0;
-    switch (GetTagID(t))
+    switch (swf_GetTagID(t))
     { case ST_DEFINEFONT:
-        nid = FontExtract_DefineFont(id,f,t,shapes);
+        nid = swf_FontExtract_DefineFont(id,f,t,shapes);
         break;
         
       case ST_DEFINEFONTINFO:
-        nid = FontExtract_DefineFontInfo(id,f,t,shapes);
+        nid = swf_FontExtract_DefineFontInfo(id,f,t,shapes);
         break;
         
       case ST_DEFINETEXT:
       case ST_DEFINETEXT2:
-        nid = FontExtract_DefineText(id,f,t,FEDTJ_MODIFY);
+        nid = swf_FontExtract_DefineText(id,f,t,FEDTJ_MODIFY);
         break;
     }
     if (nid>0) id = nid;
-    t = NextTag(t);
+    t = swf_NextTag(t);
   }
   return 0;
 }
 
-int FontIsItalic(SWFFONT * f) { return f->flags&FF_ITALIC; }
-int FontIsBold(SWFFONT * f)   { return f->flags&FF_BOLD; }
+int swf_FontIsItalic(SWFFONT * f) { return f->flags&FF_ITALIC; }
+int swf_FontIsBold(SWFFONT * f)   { return f->flags&FF_BOLD; }
 
-int FontSetID(SWFFONT * f,U16 id) { if (!f) return -1; f->id = id; return 0; }
+int swf_FontSetID(SWFFONT * f,U16 id) { if (!f) return -1; f->id = id; return 0; }
 
-int FontReduce(SWFFONT * f,FONTUSAGE * use)
+int swf_FontReduce(SWFFONT * f,FONTUSAGE * use)
 { int i,j;
   if ((!f)||(!use)) return -1;
 
@@ -237,7 +237,7 @@ int FontReduce(SWFFONT * f,FONTUSAGE * use)
         j++;
       }
       else
-      { ShapeFree(f->glyph[i].shape);
+      { swf_ShapeFree(f->glyph[i].shape);
         f->glyph[i].shape   = 0;
         f->glyph[i].gid     = 0;
         f->glyph[i].advance = 0;
@@ -247,13 +247,13 @@ int FontReduce(SWFFONT * f,FONTUSAGE * use)
   return j;
 }
 
-int FontInitUsage(FONTUSAGE * use)
+int swf_FontInitUsage(FONTUSAGE * use)
 { if (!use) return -1;
   memset(&use->code,0x00,sizeof(use->code));
   return 0;
 }
 
-int FontUse(FONTUSAGE * use,U8 * s)
+int swf_FontUse(FONTUSAGE * use,U8 * s)
 { if ((!use)||(!s)) return -1;
   while (s[0])
   { use->code[s[0]] = 1;
@@ -262,49 +262,49 @@ int FontUse(FONTUSAGE * use,U8 * s)
   return 0;  
 }
 
-int FontSetDefine(TAG * t,SWFFONT * f)
+int swf_FontSetDefine(TAG * t,SWFFONT * f)
 { U16 ofs[MAX_CHAR_PER_FONT];
   int p,i,j;
     
   if ((!t)||(!f)) return -1;
-  ResetBitcount(t);
-  SetU16(t,f->id);
+  swf_ResetBitcount(t);
+  swf_SetU16(t,f->id);
 
   p = 0; j = 0;
   for (i=0;i<MAX_CHAR_PER_FONT;i++)
     if (f->glyph[i].shape)
     { ofs[j++] = p;
-      p+=SetSimpleShape(NULL,f->glyph[i].shape);
+      p+=swf_SetSimpleShape(NULL,f->glyph[i].shape);
     }
 
-  for (i=0;i<j;i++) SetU16(t,ofs[i]+j*2);
+  for (i=0;i<j;i++) swf_SetU16(t,ofs[i]+j*2);
   
   for (i=0;i<MAX_CHAR_PER_FONT;i++)
     if (f->glyph[i].shape)
-      SetSimpleShape(t,f->glyph[i].shape);
+      swf_SetSimpleShape(t,f->glyph[i].shape);
   
-  ResetBitcount(t);
+  swf_ResetBitcount(t);
   return 0;
 }
 
-int FontSetInfo(TAG * t,SWFFONT * f)
+int swf_FontSetInfo(TAG * t,SWFFONT * f)
 { int l,i;
   if ((!t)||(!f)) return -1;
-  ResetBitcount(t);
-  SetU16(t,f->id);
+  swf_ResetBitcount(t);
+  swf_SetU16(t,f->id);
   l = strlen(f->name); if (l>255) l = 255;
-  SetU8(t,l);
-  SetBlock(t,f->name,l);
-  SetU8(t,f->flags&0xfe); // no Wide-Codes
+  swf_SetU8(t,l);
+  swf_SetBlock(t,f->name,l);
+  swf_SetU8(t,f->flags&0xfe); // no Wide-Codes
 
   for (i=0;i<MAX_CHAR_PER_FONT;i++)
     if (f->glyph[i].shape)
-      SetU8(t,i);
+      swf_SetU8(t,i);
   
   return 0;
 }
 
-int FontExport(int handle,SWFFONT * f)
+int swf_FontExport(int handle,SWFFONT * f)
 { int l;
   int i;
   if (!f) return 0;
@@ -335,7 +335,7 @@ int FontExport(int handle,SWFFONT * f)
 
   for (i=0;i<MAX_CHAR_PER_FONT;i++)
   { if (f->glyph[i].shape)
-    { int ll = ShapeExport(handle,f->glyph[i].shape);
+    { int ll = swf_ShapeExport(handle,f->glyph[i].shape);
       if (ll<0) return -1;
       l+=ll;
     }  
@@ -385,7 +385,7 @@ int FontImport(int handle,SWFFONT * * font)
 
   for (i=0;i<MAX_CHAR_PER_FONT;i++)
   { if (f->glyph[i].shape)
-    { if (ShapeImport(handle,&f->glyph[i].shape)<0) goto fehler;
+    { if (swf_ShapeImport(handle,&f->glyph[i].shape)<0) goto fehler;
     }
   }
 
@@ -395,19 +395,19 @@ int FontImport(int handle,SWFFONT * * font)
   
 fehler:
   if (f) for (;i<MAX_CHAR_PER_FONT;i++) f->glyph[i].shape = NULL;
-  FontFree(f);
+  swf_FontFree(f);
   font[0] = NULL;
   return -1;
 }
 
-int TextPrintDefineText(TAG * t,SWFFONT * f)
-{ int id = GetTagID(t);
-  if ((id==ST_DEFINETEXT)||(id==ST_DEFINETEXT2)) FontExtract_DefineText(f->id,f,t,FEDTJ_PRINT);
+int swf_TextPrintDefineText(TAG * t,SWFFONT * f)
+{ int id = swf_GetTagID(t);
+  if ((id==ST_DEFINETEXT)||(id==ST_DEFINETEXT2)) swf_FontExtract_DefineText(f->id,f,t,FEDTJ_PRINT);
     else return -1;
   return 0;
 }
 
-void LayoutFree(SWFLAYOUT * l)
+void swf_LayoutFree(SWFLAYOUT * l)
 { if (l)
   { if (l->kerning.data) free(l->kerning.data);
     l->kerning.data = NULL;
@@ -415,52 +415,52 @@ void LayoutFree(SWFLAYOUT * l)
   free(l);
 }
 
-void FontFree(SWFFONT * f)
+void swf_FontFree(SWFFONT * f)
 { if (f)
   { int i;
       
     if (f->name) free(f->name);
-    if (f->layout) LayoutFree(f->layout);
+    if (f->layout) swf_LayoutFree(f->layout);
 
     f->name = NULL;
     f->layout = NULL;
 
     for (i=0;i<MAX_CHAR_PER_FONT;i++)
       if (f->glyph[i].shape)
-      { ShapeFree(f->glyph[i].shape);
+      { swf_ShapeFree(f->glyph[i].shape);
         f->glyph[i].shape = NULL;
       }
   }
   free(f);
 }
 
-int TextSetInfoRecord(TAG * t,SWFFONT * font,U16 size,RGBA * color,S16 dx,S16 dy)
+int swf_TextSetInfoRecord(TAG * t,SWFFONT * font,U16 size,RGBA * color,S16 dx,S16 dy)
 { U8 flags;
   if (!t) return -1;
 
   flags = TF_TEXTCONTROL|(font?TF_HASFONT:0)|(color?TF_HASCOLOR:0)|(dx?TF_HASXOFFSET:0)|(dy?TF_HASYOFFSET:0);
 
-  SetU8(t,flags);
-  if (font) SetU16(t,font->id);
+  swf_SetU8(t,flags);
+  if (font) swf_SetU16(t,font->id);
   if (color)
-  { if (GetTagID(t)==ST_DEFINETEXT2) SetRGBA(t,color);
-    else SetRGB(t,color);
+  { if (swf_GetTagID(t)==ST_DEFINETEXT2) swf_SetRGBA(t,color);
+    else swf_SetRGB(t,color);
   }
-  if (dx) SetS16(t,dx);
-  if (dy) SetS16(t,dy);
-  if (font) SetU16(t,size);
+  if (dx) swf_SetS16(t,dx);
+  if (dy) swf_SetS16(t,dy);
+  if (font) swf_SetU16(t,size);
   
   return 0;
 }
 
-int TextCountBits(SWFFONT * font,U8 * s,int scale,U8 * gbits,U8 * abits)
+int swf_TextCountBits(SWFFONT * font,U8 * s,int scale,U8 * gbits,U8 * abits)
 { U16 g,a;
   if ((!s)||(!font)||((!gbits)&&(!abits))) return -1;
   g = a = 0;
 
   while(s[0])
-  { g = CountBits(font->glyph[s[0]].gid,g);
-    a = CountBits((((U32)font->glyph[s[0]].advance)*scale)/100,a);
+  { g = swf_CountBits(font->glyph[s[0]].gid,g);
+    a = swf_CountBits((((U32)font->glyph[s[0]].advance)*scale)/100,a);
     s++;
   }
 
@@ -470,25 +470,25 @@ int TextCountBits(SWFFONT * font,U8 * s,int scale,U8 * gbits,U8 * abits)
   return 0;
 }
 
-int TextSetCharRecord(TAG * t,SWFFONT * font,U8 * s,int scale,U8 gbits,U8 abits)
+int swf_TextSetCharRecord(TAG * t,SWFFONT * font,U8 * s,int scale,U8 gbits,U8 abits)
 { int l,i;
     
   if ((!t)||(!font)||(!s)) return -1;
 
   l = strlen(s);
   if (l>0x7f) l = 0x7f;
-  SetU8(t,l);
+  swf_SetU8(t,l);
 
   for (i=0;i<l;i++)
-  { SetBits(t,font->glyph[s[i]].gid,gbits);
-    SetBits(t,(((U32)font->glyph[s[i]].advance)*scale)/100,abits);
+  { swf_SetBits(t,font->glyph[s[i]].gid,gbits);
+    swf_SetBits(t,(((U32)font->glyph[s[i]].advance)*scale)/100,abits);
   }
 
-  ResetBitcount(t);
+  swf_ResetBitcount(t);
   return 0;
 }
 
-U32 TextGetWidth(SWFFONT * font,U8 * s,int scale)
+U32 swf_TextGetWidth(SWFFONT * font,U8 * s,int scale)
 { U32 res = 0;
 
   if (font&&s)
@@ -498,6 +498,5 @@ U32 TextGetWidth(SWFFONT * font,U8 * s,int scale)
     }
     if (scale) res = (res*scale)/100;
   }
-  
   return res;
 }