1 /* SFont: a simple font-library that uses special bitmaps as fonts 2 Copyright (C) 2003 Karl Bartel 3 4 License: GPL or LGPL (at your choice) 5 WWW: http://www.linux-games.com/sfont/ 6 7 This program is free software; you can redistribute it and/or modify 8 it under the terms of the GNU General Public License as published by 9 the Free Software Foundation; either version 2 of the License, or 10 (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 GNU General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; if not, write to the Free Software 19 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 20 21 Karl Bartel 22 Cecilienstr. 14 23 12307 Berlin 24 GERMANY 25 karlb@gmx.net 26 */ 27 28 /************************************************************************ 29 * SFONT - SDL Font Library by Karl Bartel <karlb@gmx.net> * 30 * * 31 * All functions are explained below. For further information, take a * 32 * look at the example files, the links at the SFont web site, or * 33 * contact me, if you problem isn' addressed anywhere. * 34 * * 35 ************************************************************************/ 36 #ifndef SFONT_H 37 #define SFONT_H 38 39 #include <SDL.h> 40 41 #ifdef __cplusplus 42 extern "C" { 43 #endif 44 45 /* Delcare one variable of this type for each font you are using. */ 46 /* To load the fonts, load the font image into YourFont->Surface */ 47 /* and call InitFont( YourFont ); */ 48 typedef struct { 49 SDL_Surface *Surface; 50 int CharPos[512]; 51 int MaxPos; 52 } SFont_Font; 53 54 /* Initializes the font */ 55 /* Font: this contains the suface with the font. */ 56 /* The Surface must be loaded before calling this function */ 57 SFont_Font* SFont_InitFont (SDL_Surface *Font); 58 59 /* Frees the font */ 60 /* Font: The font to free */ 61 /* The font must be loaded before using this function. */ 62 void SFont_FreeFont(SFont_Font* Font); 63 64 /* Blits a string to a surface */ 65 /* Destination: the suface you want to blit to */ 66 /* text: a string containing the text you want to blit. */ 67 void SFont_Write(SDL_Surface *Surface, const SFont_Font *Font, int x, int y, 68 const char *text,int rawcopy); 69 70 /* Returns the width of "text" in pixels */ 71 int SFont_TextWidth(const SFont_Font* Font, const char *text); 72 /* Returns the height of "text" in pixels (which is always equal to Font->Surface->h) */ 73 int SFont_TextHeight(const SFont_Font* Font); 74 75 /* Blits a string to Surface with centered x position */ 76 void SFont_WriteCenter(SDL_Surface *Surface, const SFont_Font* Font, int y, 77 const char *text); 78 79 #ifdef __cplusplus 80 } 81 #endif 82 83 #endif /* SFONT_H */ 84