1 /* 2 Ming, an SWF output library 3 Copyright (C) 2001 Opaque Industries - http://www.opaque.net/ 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 18 */ 19 20 /* text.h 21 * 22 * $Id$ 23 * 24 * Notice: This header file contains declarations of functions and types that 25 * are just used internally. All library functions and types that are supposed 26 * to be publicly accessable are defined in ./src/ming.h. 27 */ 28 29 #ifndef SWF_TEXT_H_INCLUDED 30 #define SWF_TEXT_H_INCLUDED 31 32 #include "ming.h" 33 #include "output.h" 34 35 36 typedef struct SWFTextRecord_s *SWFTextRecord; 37 38 #define SWF_TEXT_STATE_CHANGE (1<<7) 39 #define SWF_TEXT_HAS_FONT (1<<3) 40 #define SWF_TEXT_HAS_COLOR (1<<2) 41 #define SWF_TEXT_HAS_Y (1<<1) 42 #define SWF_TEXT_HAS_X (1<<0) 43 44 void SWFOutput_writeText(SWFOutput out, SWFText text); 45 46 void SWFTextRecord_setFontCharacter(SWFTextRecord record, SWFFontCharacter font); 47 48 void SWFText_setScaledHeight(SWFText text, int height); 49 50 void SWFText_scaledMoveTo(SWFText text, int x, int y); 51 52 void SWFText_setScaledSpacing(SWFText text, int spacing); 53 54 int SWFText_getScaledStringWidth(SWFText text, const char *string); 55 56 int SWFText_getScaledUTF8StringWidth(SWFText text, const char *string); 57 58 int SWFText_getScaledWideStringWidth(SWFText text, const unsigned short *string); 59 60 short SWFText_getScaledAscent(SWFText text); 61 62 short SWFText_getScaledDescent(SWFText text); 63 64 short SWFText_getScaledLeading(SWFText text); 65 66 void SWFText_resolveCodes(SWFText text); 67 68 SWFTextRecord newSWFTextRecord(); 69 70 void destroySWFTextRecord(SWFTextRecord record); 71 72 int SWFTextRecord_getString(SWFTextRecord record, unsigned short** outStr); 73 74 SWFTextRecord SWFText_getInitialRecord(SWFText text); 75 76 SWFTextRecord SWFTextRecord_getNextRecord(SWFTextRecord record); 77 78 SWFFont SWFTextRecord_getUnresolvedFont(SWFTextRecord record); 79 80 void SWFTextRecord_setFontCharacter(SWFTextRecord record, SWFFontCharacter font); 81 82 #endif /* SWF_TEXT_H_INCLUDED */ 83