FTGL
2.4.0
src
FTGL
ftgl.h
Go to the documentation of this file.
1
/*
2
* FTGL - OpenGL font library
3
*
4
* Copyright (c) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz>
5
* Copyright (c) 2008 Sam Hocevar <sam@hocevar.net>
6
* Copyright (c) 2008 Sean Morrison <learner@brlcad.org>
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining
9
* a copy of this software and associated documentation files (the
10
* "Software"), to deal in the Software without restriction, including
11
* without limitation the rights to use, copy, modify, merge, publish,
12
* distribute, sublicense, and/or sell copies of the Software, and to
13
* permit persons to whom the Software is furnished to do so, subject to
14
* the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be
17
* included in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
23
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
24
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
25
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26
*/
27
28
#ifndef __ftgl__
29
#define __ftgl__
30
31
/* We need the Freetype headers */
32
#include <ft2build.h>
33
#include FT_FREETYPE_H
34
#include FT_GLYPH_H
35
#include FT_OUTLINE_H
36
37
/* Floating point types used by the library */
38
typedef
double
FTGL_DOUBLE
;
39
typedef
float
FTGL_FLOAT
;
40
41
/* Macros used to declare C-linkage types and symbols */
42
#ifdef __cplusplus
43
# define FTGL_BEGIN_C_DECLS extern "C"
{ namespace FTGL {
44
# define FTGL_END_C_DECLS } }
45
#else
46
# define FTGL_BEGIN_C_DECLS
47
# define FTGL_END_C_DECLS
48
#endif
49
50
#ifdef __cplusplus
51
namespace
FTGL
52
{
53
typedef
enum
54
{
55
RENDER_FRONT
= 0x0001,
56
RENDER_BACK
= 0x0002,
57
RENDER_SIDE
= 0x0004,
58
RENDER_ALL
= 0xffff
59
}
RenderMode
;
60
61
typedef
enum
62
{
63
ALIGN_LEFT
= 0,
64
ALIGN_CENTER
= 1,
65
ALIGN_RIGHT
= 2,
66
ALIGN_JUSTIFY
= 3
67
}
TextAlignment
;
68
69
typedef
enum
70
{
71
CONFIG_VERSION
= 1,
72
}
ConfigString
;
73
82
extern
char
const
*
GetString
(
ConfigString
config);
83
}
84
#else
85
# define FTGL_RENDER_FRONT 0x0001
86
# define FTGL_RENDER_BACK 0x0002
87
# define FTGL_RENDER_SIDE 0x0004
88
# define FTGL_RENDER_ALL 0xffff
89
90
# define FTGL_ALIGN_LEFT 0
91
# define FTGL_ALIGN_CENTER 1
92
# define FTGL_ALIGN_RIGHT 2
93
# define FTGL_ALIGN_JUSTIFY 3
94
95
# define FTGL_CONFIG_VERSION 1
96
105
extern
char
const
*ftglGetString(
int
config);
106
#endif
107
108
// Compiler-specific conditional compilation
109
#ifdef _MSC_VER
// MS Visual C++
110
111
// Disable various warning.
112
// 4786: template name too long
113
#pragma warning(disable : 4251)
114
#pragma warning(disable : 4275)
115
#pragma warning(disable : 4786)
116
117
// The following definitions control how symbols are exported.
118
// If the target is a static library ensure that FTGL_LIBRARY_STATIC
119
// is defined. If building a dynamic library (ie DLL) ensure the
120
// FTGL_LIBRARY macro is defined, as it will mark symbols for
121
// export. If compiling a project to _use_ the _dynamic_ library
122
// version of the library, no definition is required.
123
#ifdef FTGL_LIBRARY_STATIC
// static lib - no special export required
124
# define FTGL_EXPORT
125
#elif FTGL_LIBRARY
// dynamic lib - must export/import symbols appropriately.
126
# define FTGL_EXPORT __declspec(dllexport)
127
#else
128
# define FTGL_EXPORT __declspec(dllimport)
129
#endif
130
131
#else
132
// Compiler that is not MS Visual C++.
133
// Ensure that the export symbol is defined (and blank)
134
#define FTGL_EXPORT
135
#endif
136
137
#include <
FTGL/FTLibrary.h
>
138
139
#include <
FTGL/FTPoint.h
>
140
#include <
FTGL/FTBBox.h
>
141
#include <
FTGL/FTBuffer.h
>
142
143
#include <
FTGL/FTGlyph.h
>
144
#include <
FTGL/FTBitmapGlyph.h
>
145
#include <
FTGL/FTBufferGlyph.h
>
146
#include <
FTGL/FTExtrdGlyph.h
>
147
#include <
FTGL/FTOutlineGlyph.h
>
148
#include <
FTGL/FTPixmapGlyph.h
>
149
#include <
FTGL/FTPolyGlyph.h
>
150
#include <
FTGL/FTTextureGlyph.h
>
151
#include <
FTGL/FTTriangleExtractorGlyph.h
>
152
153
#include <
FTGL/FTFont.h
>
154
#include <
FTGL/FTGLBitmapFont.h
>
155
#include <
FTGL/FTBufferFont.h
>
156
#include <
FTGL/FTGLExtrdFont.h
>
157
#include <
FTGL/FTGLOutlineFont.h
>
158
#include <
FTGL/FTGLPixmapFont.h
>
159
#include <
FTGL/FTGLPolygonFont.h
>
160
#include <
FTGL/FTGLTextureFont.h
>
161
#include <
FTGL/FTGLTriangleExtractorFont.h
>
162
163
#include <
FTGL/FTLayout.h
>
164
#include <
FTGL/FTSimpleLayout.h
>
165
166
#endif
// __ftgl__
FTBBox.h
FTBitmapGlyph.h
FTBufferFont.h
FTBufferGlyph.h
FTBuffer.h
FTExtrdGlyph.h
FTFont.h
FTGLBitmapFont.h
FTGLExtrdFont.h
FTGLOutlineFont.h
FTGLPixmapFont.h
FTGLPolygonFont.h
FTGLTextureFont.h
FTGLTriangleExtractorFont.h
FTGlyph.h
FTLayout.h
FTLibrary.h
FTOutlineGlyph.h
FTPixmapGlyph.h
FTPoint.h
FTPolyGlyph.h
FTSimpleLayout.h
FTTextureGlyph.h
FTTriangleExtractorGlyph.h
FTGL_FLOAT
float FTGL_FLOAT
Definition
ftgl.h:39
FTGL_DOUBLE
double FTGL_DOUBLE
Definition
ftgl.h:38
FTGL
Definition
ftgl.h:52
FTGL::TextAlignment
TextAlignment
Definition
ftgl.h:62
FTGL::ALIGN_JUSTIFY
@ ALIGN_JUSTIFY
Definition
ftgl.h:66
FTGL::ALIGN_RIGHT
@ ALIGN_RIGHT
Definition
ftgl.h:65
FTGL::ALIGN_LEFT
@ ALIGN_LEFT
Definition
ftgl.h:63
FTGL::ALIGN_CENTER
@ ALIGN_CENTER
Definition
ftgl.h:64
FTGL::RenderMode
RenderMode
Definition
ftgl.h:54
FTGL::RENDER_BACK
@ RENDER_BACK
Definition
ftgl.h:56
FTGL::RENDER_ALL
@ RENDER_ALL
Definition
ftgl.h:58
FTGL::RENDER_SIDE
@ RENDER_SIDE
Definition
ftgl.h:57
FTGL::RENDER_FRONT
@ RENDER_FRONT
Definition
ftgl.h:55
FTGL::GetString
char const * GetString(ConfigString config)
Return a string describing the current FTGL instance.
FTGL::ConfigString
ConfigString
Definition
ftgl.h:70
FTGL::CONFIG_VERSION
@ CONFIG_VERSION
Definition
ftgl.h:71
Generated by
1.9.7