]> git.r.bdr.sh - rbdr/pico-engine/blame - build/Debug/Pico.app/Contents/Frameworks/SDL_ttf.framework/Versions/A/Headers/SDL_ttf.h
first commit
[rbdr/pico-engine] / build / Debug / Pico.app / Contents / Frameworks / SDL_ttf.framework / Versions / A / Headers / SDL_ttf.h
CommitLineData
10a0e290
BB
1/*
2 SDL_ttf: A companion library to SDL for working with TrueType (tm) fonts
3 Copyright (C) 1997-2004 Sam Lantinga
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 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 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public
16 License along with this library; if not, write to the Free
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18
19 Sam Lantinga
20 slouken@libsdl.org
21*/
22
23/* $Id: SDL_ttf.h 3282 2007-07-15 06:02:48Z slouken $ */
24
25/* This library is a wrapper around the excellent FreeType 2.0 library,
26 available at:
27 http://www.freetype.org/
28*/
29
30#ifndef _SDL_TTF_H
31#define _SDL_TTF_H
32
33#include "SDL.h"
34#include "begin_code.h"
35
36/* Set up for C function definitions, even when using C++ */
37#ifdef __cplusplus
38extern "C" {
39#endif
40
41/* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL
42*/
43#define SDL_TTF_MAJOR_VERSION 2
44#define SDL_TTF_MINOR_VERSION 0
45#define SDL_TTF_PATCHLEVEL 9
46
47/* This macro can be used to fill a version structure with the compile-time
48 * version of the SDL_ttf library.
49 */
50#define SDL_TTF_VERSION(X) \
51{ \
52 (X)->major = SDL_TTF_MAJOR_VERSION; \
53 (X)->minor = SDL_TTF_MINOR_VERSION; \
54 (X)->patch = SDL_TTF_PATCHLEVEL; \
55}
56
57/* Backwards compatibility */
58#define TTF_MAJOR_VERSION SDL_TTF_MAJOR_VERSION
59#define TTF_MINOR_VERSION SDL_TTF_MINOR_VERSION
60#define TTF_PATCHLEVEL SDL_TTF_PATCHLEVEL
61#define TTF_VERSION(X) SDL_TTF_VERSION(X)
62
63/* This function gets the version of the dynamically linked SDL_ttf library.
64 it should NOT be used to fill a version structure, instead you should
65 use the SDL_TTF_VERSION() macro.
66 */
67extern DECLSPEC const SDL_version * SDLCALL TTF_Linked_Version(void);
68
69/* ZERO WIDTH NO-BREAKSPACE (Unicode byte order mark) */
70#define UNICODE_BOM_NATIVE 0xFEFF
71#define UNICODE_BOM_SWAPPED 0xFFFE
72
73/* This function tells the library whether UNICODE text is generally
74 byteswapped. A UNICODE BOM character in a string will override
75 this setting for the remainder of that string.
76*/
77extern DECLSPEC void SDLCALL TTF_ByteSwappedUNICODE(int swapped);
78
79/* The internal structure containing font information */
80typedef struct _TTF_Font TTF_Font;
81
82/* Initialize the TTF engine - returns 0 if successful, -1 on error */
83extern DECLSPEC int SDLCALL TTF_Init(void);
84
85/* Open a font file and create a font of the specified point size.
86 * Some .fon fonts will have several sizes embedded in the file, so the
87 * point size becomes the index of choosing which size. If the value
88 * is too high, the last indexed size will be the default. */
89extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFont(const char *file, int ptsize);
90extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndex(const char *file, int ptsize, long index);
91extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontRW(SDL_RWops *src, int freesrc, int ptsize);
92extern DECLSPEC TTF_Font * SDLCALL TTF_OpenFontIndexRW(SDL_RWops *src, int freesrc, int ptsize, long index);
93
94/* Set and retrieve the font style
95 This font style is implemented by modifying the font glyphs, and
96 doesn't reflect any inherent properties of the truetype font file.
97*/
98#define TTF_STYLE_NORMAL 0x00
99#define TTF_STYLE_BOLD 0x01
100#define TTF_STYLE_ITALIC 0x02
101#define TTF_STYLE_UNDERLINE 0x04
102extern DECLSPEC int SDLCALL TTF_GetFontStyle(const TTF_Font *font);
103extern DECLSPEC void SDLCALL TTF_SetFontStyle(TTF_Font *font, int style);
104
105/* Get the total height of the font - usually equal to point size */
106extern DECLSPEC int SDLCALL TTF_FontHeight(const TTF_Font *font);
107
108/* Get the offset from the baseline to the top of the font
109 This is a positive value, relative to the baseline.
110 */
111extern DECLSPEC int SDLCALL TTF_FontAscent(const TTF_Font *font);
112
113/* Get the offset from the baseline to the bottom of the font
114 This is a negative value, relative to the baseline.
115 */
116extern DECLSPEC int SDLCALL TTF_FontDescent(const TTF_Font *font);
117
118/* Get the recommended spacing between lines of text for this font */
119extern DECLSPEC int SDLCALL TTF_FontLineSkip(const TTF_Font *font);
120
121/* Get the number of faces of the font */
122extern DECLSPEC long SDLCALL TTF_FontFaces(const TTF_Font *font);
123
124/* Get the font face attributes, if any */
125extern DECLSPEC int SDLCALL TTF_FontFaceIsFixedWidth(const TTF_Font *font);
126extern DECLSPEC char * SDLCALL TTF_FontFaceFamilyName(const TTF_Font *font);
127extern DECLSPEC char * SDLCALL TTF_FontFaceStyleName(const TTF_Font *font);
128
129/* Get the metrics (dimensions) of a glyph
130 To understand what these metrics mean, here is a useful link:
131 http://freetype.sourceforge.net/freetype2/docs/tutorial/step2.html
132 */
133extern DECLSPEC int SDLCALL TTF_GlyphMetrics(TTF_Font *font, Uint16 ch,
134 int *minx, int *maxx,
135 int *miny, int *maxy, int *advance);
136
137/* Get the dimensions of a rendered string of text */
138extern DECLSPEC int SDLCALL TTF_SizeText(TTF_Font *font, const char *text, int *w, int *h);
139extern DECLSPEC int SDLCALL TTF_SizeUTF8(TTF_Font *font, const char *text, int *w, int *h);
140extern DECLSPEC int SDLCALL TTF_SizeUNICODE(TTF_Font *font, const Uint16 *text, int *w, int *h);
141
142/* Create an 8-bit palettized surface and render the given text at
143 fast quality with the given font and color. The 0 pixel is the
144 colorkey, giving a transparent background, and the 1 pixel is set
145 to the text color.
146 This function returns the new surface, or NULL if there was an error.
147*/
148extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font,
149 const char *text, SDL_Color fg);
150extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Solid(TTF_Font *font,
151 const char *text, SDL_Color fg);
152extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid(TTF_Font *font,
153 const Uint16 *text, SDL_Color fg);
154
155/* Create an 8-bit palettized surface and render the given glyph at
156 fast quality with the given font and color. The 0 pixel is the
157 colorkey, giving a transparent background, and the 1 pixel is set
158 to the text color. The glyph is rendered without any padding or
159 centering in the X direction, and aligned normally in the Y direction.
160 This function returns the new surface, or NULL if there was an error.
161*/
162extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Solid(TTF_Font *font,
163 Uint16 ch, SDL_Color fg);
164
165/* Create an 8-bit palettized surface and render the given text at
166 high quality with the given font and colors. The 0 pixel is background,
167 while other pixels have varying degrees of the foreground color.
168 This function returns the new surface, or NULL if there was an error.
169*/
170extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Shaded(TTF_Font *font,
171 const char *text, SDL_Color fg, SDL_Color bg);
172extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Shaded(TTF_Font *font,
173 const char *text, SDL_Color fg, SDL_Color bg);
174extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Shaded(TTF_Font *font,
175 const Uint16 *text, SDL_Color fg, SDL_Color bg);
176
177/* Create an 8-bit palettized surface and render the given glyph at
178 high quality with the given font and colors. The 0 pixel is background,
179 while other pixels have varying degrees of the foreground color.
180 The glyph is rendered without any padding or centering in the X
181 direction, and aligned normally in the Y direction.
182 This function returns the new surface, or NULL if there was an error.
183*/
184extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Shaded(TTF_Font *font,
185 Uint16 ch, SDL_Color fg, SDL_Color bg);
186
187/* Create a 32-bit ARGB surface and render the given text at high quality,
188 using alpha blending to dither the font with the given color.
189 This function returns the new surface, or NULL if there was an error.
190*/
191extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Blended(TTF_Font *font,
192 const char *text, SDL_Color fg);
193extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Blended(TTF_Font *font,
194 const char *text, SDL_Color fg);
195extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Blended(TTF_Font *font,
196 const Uint16 *text, SDL_Color fg);
197
198/* Create a 32-bit ARGB surface and render the given glyph at high quality,
199 using alpha blending to dither the font with the given color.
200 The glyph is rendered without any padding or centering in the X
201 direction, and aligned normally in the Y direction.
202 This function returns the new surface, or NULL if there was an error.
203*/
204extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderGlyph_Blended(TTF_Font *font,
205 Uint16 ch, SDL_Color fg);
206
207/* For compatibility with previous versions, here are the old functions */
208#define TTF_RenderText(font, text, fg, bg) \
209 TTF_RenderText_Shaded(font, text, fg, bg)
210#define TTF_RenderUTF8(font, text, fg, bg) \
211 TTF_RenderUTF8_Shaded(font, text, fg, bg)
212#define TTF_RenderUNICODE(font, text, fg, bg) \
213 TTF_RenderUNICODE_Shaded(font, text, fg, bg)
214
215/* Close an opened font file */
216extern DECLSPEC void SDLCALL TTF_CloseFont(TTF_Font *font);
217
218/* De-initialize the TTF engine */
219extern DECLSPEC void SDLCALL TTF_Quit(void);
220
221/* Check if the TTF engine is initialized */
222extern DECLSPEC int SDLCALL TTF_WasInit(void);
223
224/* We'll use SDL for reporting errors */
225#define TTF_SetError SDL_SetError
226#define TTF_GetError SDL_GetError
227
228/* Ends C function definitions when using C++ */
229#ifdef __cplusplus
230}
231#endif
232#include "close_code.h"
233
234#endif /* _SDL_TTF_H */