diff options
Diffstat (limited to 'src/ftgl/FTGL/ftgl.h')
-rw-r--r-- | src/ftgl/FTGL/ftgl.h | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/src/ftgl/FTGL/ftgl.h b/src/ftgl/FTGL/ftgl.h new file mode 100644 index 0000000..f5d043c --- /dev/null +++ b/src/ftgl/FTGL/ftgl.h @@ -0,0 +1,135 @@ +/* + * FTGL - OpenGL font library + * + * Copyright (c) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz> + * Copyright (c) 2008 Sam Hocevar <sam@zoy.org> + * Copyright (c) 2008 Sean Morrison <learner@brlcad.org> + * + * Permission is hereby granted, free of charge, to any person obtaining + * a copy of this software and associated documentation files (the + * "Software"), to deal in the Software without restriction, including + * without limitation the rights to use, copy, modify, merge, publish, + * distribute, sublicense, and/or sell copies of the Software, and to + * permit persons to whom the Software is furnished to do so, subject to + * the following conditions: + * + * The above copyright notice and this permission notice shall be + * included in all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY + * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + */ + +#ifndef __ftgl__ +#define __ftgl__ + +/* We need the Freetype headers */ +#include <ft2build.h> +#include FT_FREETYPE_H +#include FT_GLYPH_H +#include FT_OUTLINE_H + +/* Floating point types used by the library */ +typedef double FTGL_DOUBLE; +typedef float FTGL_FLOAT; + +/* Macros used to declare C-linkage types and symbols */ +#ifdef __cplusplus +# define FTGL_BEGIN_C_DECLS extern "C" { namespace FTGL { +# define FTGL_END_C_DECLS } } +#else +# define FTGL_BEGIN_C_DECLS +# define FTGL_END_C_DECLS +#endif + +#ifdef __cplusplus +namespace FTGL +{ + typedef enum + { + RENDER_FRONT = 0x0001, + RENDER_BACK = 0x0002, + RENDER_SIDE = 0x0004, + RENDER_ALL = 0xffff + } RenderMode; + + typedef enum + { + ALIGN_LEFT = 0, + ALIGN_CENTER = 1, + ALIGN_RIGHT = 2, + ALIGN_JUSTIFY = 3 + } TextAlignment; +} +#else +# define FTGL_RENDER_FRONT 0x0001 +# define FTGL_RENDER_BACK 0x0002 +# define FTGL_RENDER_SIDE 0x0004 +# define FTGL_RENDER_ALL 0xffff + +# define FTGL_ALIGN_LEFT 0 +# define FTGL_ALIGN_CENTER 1 +# define FTGL_ALIGN_RIGHT 2 +# define FTGL_ALIGN_JUSTIFY 3 +#endif + +// Compiler-specific conditional compilation +#ifdef _MSC_VER // MS Visual C++ + + // Disable various warning. + // 4786: template name too long + #pragma warning(disable : 4251) + #pragma warning(disable : 4275) + #pragma warning(disable : 4786) + + // The following definitions control how symbols are exported. + // If the target is a static library ensure that FTGL_LIBRARY_STATIC + // is defined. If building a dynamic library (ie DLL) ensure the + // FTGL_LIBRARY macro is defined, as it will mark symbols for + // export. If compiling a project to _use_ the _dynamic_ library + // version of the library, no definition is required. + #ifdef FTGL_LIBRARY_STATIC // static lib - no special export required + # define FTGL_EXPORT + #elif FTGL_LIBRARY // dynamic lib - must export/import symbols appropriately. + # define FTGL_EXPORT __declspec(dllexport) + #else + # define FTGL_EXPORT __declspec(dllimport) + #endif + +#else + // Compiler that is not MS Visual C++. + // Ensure that the export symbol is defined (and blank) + #define FTGL_EXPORT +#endif + +#include <FTGL/FTPoint.h> +#include <FTGL/FTBBox.h> +#include <FTGL/FTBuffer.h> + +#include <FTGL/FTGlyph.h> +#include <FTGL/FTBitmapGlyph.h> +#include <FTGL/FTBufferGlyph.h> +#include <FTGL/FTExtrdGlyph.h> +#include <FTGL/FTOutlineGlyph.h> +#include <FTGL/FTPixmapGlyph.h> +#include <FTGL/FTPolyGlyph.h> +#include <FTGL/FTTextureGlyph.h> + +#include <FTGL/FTFont.h> +#include <FTGL/FTGLBitmapFont.h> +#include <FTGL/FTBufferFont.h> +#include <FTGL/FTGLExtrdFont.h> +#include <FTGL/FTGLOutlineFont.h> +#include <FTGL/FTGLPixmapFont.h> +#include <FTGL/FTGLPolygonFont.h> +#include <FTGL/FTGLTextureFont.h> + +#include <FTGL/FTLayout.h> +#include <FTGL/FTSimpleLayout.h> + +#endif // __ftgl__ |