X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fexample%2Ftext.c;h=d684c0eb1857b17552209a5e4775959ddc3df8e5;hb=879d0eec420fe0fd5ddcd56c8fe62b82a6744edd;hp=fb19f7e700592bb1e6c88bdc7f0717bf8d97ce04;hpb=de57609a2ec9f1fbf3400d4a34eca77a9cb42a19;p=swftools.git diff --git a/lib/example/text.c b/lib/example/text.c index fb19f7e..d684c0e 100644 --- a/lib/example/text.c +++ b/lib/example/text.c @@ -6,9 +6,19 @@ Copyright (c) 2001 Rainer Böhme - This file is distributed under the GPL, see file COPYING for details + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. -*/ + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include #include @@ -44,6 +54,7 @@ int main(int argc, char ** argv) SRECT r; RGBA rgb; U8 abits, gbits; + int definefont2 = 1; int f; int width = 170; @@ -54,12 +65,18 @@ int main(int argc, char ** argv) int textsize = points*20; // adjust height int textscale = points*10; // adjust spacing - FONTUSAGE use; SWFFONT * font = Font_Demo_Font(ID_FONT); // change font name here - swf_FontInitUsage(&use); - swf_FontUse(&use,BANNER_TEXT); // SWF reduces font information to the used glyphs - swf_FontReduce(font,&use); + /* adding layout to a font has the side effect that the + advance information is stored in the font itself, not + in accompanying textfields- this is needed e.g. for + edittext tags */ + if(definefont2) + swf_FontAddLayout(font,0,0,0); + + swf_FontInitUsage(font); + swf_FontUse(font,BANNER_TEXT); // SWF reduces font information to the used glyphs + swf_FontReduce(font); memset(&swf,0x00,sizeof(SWF)); @@ -75,14 +92,16 @@ int main(int argc, char ** argv) rgb.g = 0xff; rgb.b = 0xff; swf_SetRGB(t,&rgb); - - t = swf_InsertTag(t,ST_DEFINEFONT); - - swf_FontSetDefine(t,font); - - t = swf_InsertTag(t,ST_DEFINEFONTINFO); - - swf_FontSetInfo(t,font); + + if(definefont2) { + t = swf_InsertTag(t,ST_DEFINEFONT2); + swf_FontSetDefine2(t, font); + } else { + t = swf_InsertTag(t,ST_DEFINEFONT); + swf_FontSetDefine(t, font); + t = swf_InsertTag(t,ST_DEFINEFONTINFO); + swf_FontSetInfo(t, font); + } t = swf_InsertTag(t,ST_DEFINETEXT); @@ -123,11 +142,12 @@ int main(int argc, char ** argv) // swf_WriteCGI(&swf); - f = open("text.swf",O_RDWR|O_CREAT|O_TRUNC,0644); + f = open("text.swf",O_RDWR|O_CREAT|O_TRUNC|O_BINARY,0644); if FAILED(swf_WriteSWF(f,&swf)) fprintf(stderr,"WriteSWF() failed.\n"); close(f); swf_FreeTags(&swf); +// swf_FontFree(font); #ifdef __NT__ system("start ..\\text.swf");