From: kramm Date: Thu, 29 Nov 2001 15:58:15 +0000 (+0000) Subject: new function FontExtract_DefineTextCallback. X-Git-Tag: release-0-2-1~97 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=71b9d237aeaf348d104d8a3c5db7188b992a5fbe new function FontExtract_DefineTextCallback. --- diff --git a/lib/modules/swftext.c b/lib/modules/swftext.c index 0a7c886..a5db863 100644 --- a/lib/modules/swftext.c +++ b/lib/modules/swftext.c @@ -258,8 +258,10 @@ int swf_FontExtract_DefineFont2(int id,SWFFONT * font,TAG * tag) #define FEDTJ_PRINT 0x01 #define FEDTJ_MODIFY 0x02 +#define FEDTJ_CALLBACK 0x04 -int swf_FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs) +int swf_FontExtract_DefineTextCallback(int id,SWFFONT * f,TAG * t,int jobs, + void(*callback)(int*chars, int nr, int fontid)) { U16 cid; SRECT r; MATRIX m; @@ -294,6 +296,7 @@ int swf_FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs) } else { int i; + int buf[256]; for (i=0;iglyph[code].advance)*/ f->glyph[glyph].advance = adv; } + buf[i] = glyph; } if ((id==fid)&&(jobs&FEDTJ_PRINT)) printf("\n"); + if (jobs&FEDTJ_CALLBACK) + callback(buf, flags, fid); } flags = swf_GetU8(t); } @@ -315,6 +321,11 @@ int swf_FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs) return id; } +int swf_FontExtract_DefineText(int id,SWFFONT * f,TAG * t,int jobs) +{ + return swf_FontExtract_DefineTextCallback(id,f,t,jobs,0); +} + int swf_FontExtract(SWF * swf,int id,SWFFONT * * font) { TAG * t; SWFFONT * f;