Fixed the pod path in archive
[sdlgit/SDL_perl.git] / src / SFont.h
1 //
2 // SFont.h
3 //
4 // Original SFont code Copyright (C) Karl Bartel 
5 // Copyright (C) 2005 David J. Goehrig <dgoehrig@cpan.org>
6 //
7 // ------------------------------------------------------------------------------
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the GNU Lesser General Public
11 // License as published by the Free Software Foundation; either
12 // version 2.1 of the License, or (at your option) any later version.
13 // 
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17 // Lesser General Public License for more details.
18 // 
19 // You should have received a copy of the GNU Lesser General Public
20 // License along with this library; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
22 //
23 // ------------------------------------------------------------------------------
24 //
25 // Please feel free to send questions, suggestions or improvements to:
26 //
27 //      David J. Goehrig
28 //      dgoehrig@cpan.org
29 //
30
31 #include "SDL.h"
32
33 #ifdef __cplusplus 
34 extern "C" {
35 #endif
36
37 // Delcare one variable of this type for each font you are using.
38 // To load the fonts, load the font image into YourFont->Surface
39 // and call InitFont( YourFont );
40 typedef struct {
41         SDL_Surface *Surface;   
42         int CharPos[512];
43         int h;
44 } SFont_FontInfo;
45
46 // Initializes the font
47 // Font: this contains the suface with the font.
48 //       The font must be loaded before using this function.
49 void InitFont (SDL_Surface *Font);
50 void InitFont2(SFont_FontInfo *Font);
51
52 // Blits a string to a surface
53 // Destination: the suface you want to blit to
54 // text: a string containing the text you want to blit.
55 void PutString (SDL_Surface *Surface, int x, int y, char *text);
56 void PutString2(SDL_Surface *Surface, SFont_FontInfo *Font, int x, int y, char *text);
57
58 // Returns the width of "text" in pixels
59 #ifdef MACOSX
60 int SFont_TextWidth(char *text);
61 int SFont_TextWidth2(SFont_FontInfo *Font, char *text);
62 #else
63 int TextWidth(char *text);
64 int TextWidth2(SFont_FontInfo *Font, char *text);
65 #endif
66
67 // Blits a string to with centered x position
68 void XCenteredString (SDL_Surface *Surface, int y, char *text);
69 void XCenteredString2(SDL_Surface *Surface, SFont_FontInfo *Font, int y, char *text);
70
71 // Allows the user to enter text
72 // Width: What is the maximum width of the text (in pixels)
73 // text: This string contains the text which was entered by the user
74 void SFont_Input ( SDL_Surface *Destination, int x, int y, int Width, char *text);
75 void SFont_Input2( SDL_Surface *Destination, SFont_FontInfo *Font, int x, int y, int Width, char *text);
76
77 #ifdef __cplusplus
78 }
79 #endif