X-Git-Url: https://jasonwoof.com/gitweb/?p=vor.git;a=blobdiff_plain;f=SFont.h;h=b577d2bb6927c65b36d961f4a686162008f050fe;hp=46fdc1bf8fac5b77700e8705a6dd6ce6d56b41c9;hb=148882a3cc520f34616a1175ed157fe258d68dcc;hpb=a2af96e68b210b7c3db90b7ec474498c5611a3a7 diff --git a/SFont.h b/SFont.h index 46fdc1b..b577d2b 100644 --- a/SFont.h +++ b/SFont.h @@ -1,48 +1,74 @@ +/* SFont: a simple font-library that uses special bitmaps as fonts + Copyright (C) 2003 Karl Bartel + + WWW: http://www.linux-games.com/sfont/ + + 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 + + Karl Bartel + Cecilienstr. 14 + 12307 Berlin + GERMANY + karlb@gmx.net +*/ + /************************************************************************ -* SFONT - SDL Font Library by Karl Bartel * +* SFONT - SDL Font Library by Karl Bartel * * * -* All functions are explained below. There are two versions of each * -* funtction. The first is the normal one, the function with the * -* 2 at the end can be used when you want to handle more than one font * -* in your program. * +* All functions are explained below. For further information, take a * +* look at the example files, the links at the SFont web site, or * +* contact me, if you problem isn' addressed anywhere. * * * ************************************************************************/ +#ifndef SFONT_H +#define SFONT_H -#include +#include // Delcare one variable of this type for each font you are using. // To load the fonts, load the font image into YourFont->Surface -// and call InitFont( YourFont ); +// and call SFont_InitFont(YourFont); typedef struct { SDL_Surface *Surface; int CharPos[512]; - int h; -} SFont_FontInfo; + int MaxPos; +} SFont_Font; // Initializes the font // Font: this contains the suface with the font. +// The Surface must be loaded before calling this function +SFont_Font* SFont_InitFont (SDL_Surface *Font); + +// Frees the font +// Font: The font to free // The font must be loaded before using this function. -void InitFont (SDL_Surface *Font); -void InitFont2(SFont_FontInfo *Font); +void SFont_FreeFont(SFont_Font* Font); // Blits a string to a surface // Destination: the suface you want to blit to // text: a string containing the text you want to blit. -void PutString (SDL_Surface *Surface, int x, int y, char *text); -void PutString2(SDL_Surface *Surface, SFont_FontInfo *Font, int x, int y, char *text); +void SFont_Write(SDL_Surface *Surface, const SFont_Font *Font, int x, int y, + const char *text); // Returns the width of "text" in pixels -int TextWidth(char *text); -int TextWidth2(SFont_FontInfo *Font, char *text); -int SFont_wide(char *text); - -// Blits a string to with centered x position -void XCenteredString (SDL_Surface *Surface, int y, char *text); -void XCenteredString2(SDL_Surface *Surface, SFont_FontInfo *Font, int y, char *text); - -// Allows the user to enter text -// Width: What is the maximum width of the text (in pixels) -// text: This string contains the text which was entered by the user -// ph: nonblocking -int SFont_Input ( SDL_Surface *Destination, int x, int y, int Width, char *text); -int SFont_Input2( SDL_Surface *Destination, SFont_FontInfo *Font, int x, int y, int Width, char *text); +int SFont_TextWidth(const SFont_Font* Font, const char *text); +// Returns the height of "text" in pixels (which is always equal to Font->Surface->h) +int SFont_TextHeight(const SFont_Font* Font); + +// Blits a string to Surface with centered x position +void SFont_WriteCenter(SDL_Surface *Surface, const SFont_Font* Font, int y, + const char *text); + +#endif /* SFONT_H */