JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
fixed messages
[vor.git] / SFont.h
diff --git a/SFont.h b/SFont.h
index 46fdc1b..b577d2b 100644 (file)
--- 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 <karlb@gmx.net>               *
+*    SFONT - SDL Font Library by Karl Bartel <karlb@gmx.net>            *
 *                                                                       *
 *                                                                       *
-*  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 <SDL/SDL.h>
+#include <SDL.h>
 
 // Delcare one variable of this type for each font you are using.
 // To load the fonts, load the font image into YourFont->Surface
 
 // 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];
 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.
 
 // 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.
 //       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.
 
 // 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
 
 // 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 */