FTGL 2.1.3~rc5
FTSimpleLayout.h
Go to the documentation of this file.
00001 /*
00002  * FTGL - OpenGL font library
00003  *
00004  * Copyright (c) 2001-2004 Henry Maddocks <ftgl@opengl.geek.nz>
00005  * Copyright (c) 2008 Sam Hocevar <sam@zoy.org>
00006  * Copyright (c) 2008 Sean Morrison <learner@brlcad.org>
00007  *
00008  * Permission is hereby granted, free of charge, to any person obtaining
00009  * a copy of this software and associated documentation files (the
00010  * "Software"), to deal in the Software without restriction, including
00011  * without limitation the rights to use, copy, modify, merge, publish,
00012  * distribute, sublicense, and/or sell copies of the Software, and to
00013  * permit persons to whom the Software is furnished to do so, subject to
00014  * the following conditions:
00015  *
00016  * The above copyright notice and this permission notice shall be
00017  * included in all copies or substantial portions of the Software.
00018  *
00019  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
00020  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00021  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00022  * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00023  * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
00024  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
00025  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00026  */
00027 
00028 #ifndef __ftgl__
00029 #   warning This header is deprecated. Please use <FTGL/ftgl.h> from now.
00030 #   include <FTGL/ftgl.h>
00031 #endif
00032 
00033 #ifndef __FTSimpleLayout__
00034 #define __FTSimpleLayout__
00035 
00036 #ifdef __cplusplus
00037 
00038 
00039 class FTFont;
00040 
00049 class FTGL_EXPORT FTSimpleLayout : public FTLayout
00050 {
00051     public:
00056         FTSimpleLayout();
00057 
00061         ~FTSimpleLayout();
00062 
00073         virtual FTBBox BBox(const char* string, const int len = -1,
00074                             FTPoint position = FTPoint());
00075 
00086         virtual FTBBox BBox(const wchar_t* string, const int len = -1,
00087                             FTPoint position = FTPoint());
00088 
00099         virtual void Render(const char *string, const int len = -1,
00100                             FTPoint position = FTPoint(),
00101                             int renderMode = FTGL::RENDER_ALL);
00102 
00113         virtual void Render(const wchar_t *string, const int len = -1,
00114                             FTPoint position = FTPoint(),
00115                             int renderMode = FTGL::RENDER_ALL);
00116 
00124         void SetFont(FTFont *fontInit);
00125 
00129         FTFont *GetFont();
00130 
00136         void SetLineLength(const float LineLength);
00137 
00141         float GetLineLength() const;
00142 
00149         void SetAlignment(const FTGL::TextAlignment Alignment);
00150 
00154         FTGL::TextAlignment GetAlignment() const;
00155 
00162         void SetLineSpacing(const float LineSpacing);
00163 
00167         float GetLineSpacing() const;
00168 };
00169 
00170 #endif //__cplusplus
00171 
00172 FTGL_BEGIN_C_DECLS
00173 
00174 FTGL_EXPORT FTGLlayout *ftglCreateSimpleLayout(void);
00175 
00176 FTGL_EXPORT void ftglSetLayoutFont(FTGLlayout *, FTGLfont*);
00177 FTGL_EXPORT FTGLfont *ftglGetLayoutFont(FTGLlayout *);
00178 
00179 FTGL_EXPORT void ftglSetLayoutLineLength(FTGLlayout *, const float);
00180 FTGL_EXPORT float ftglGetLayoutLineLength(FTGLlayout *);
00181 
00182 FTGL_EXPORT void ftglSetLayoutAlignment(FTGLlayout *, const int);
00183 FTGL_EXPORT int ftglGetLayoutAlignement(FTGLlayout *);
00184 
00185 FTGL_EXPORT void ftglSetLayoutLineSpacing(FTGLlayout *, const float);
00186 FTGL_EXPORT float ftglGetLayoutLineSpacing(FTGLlayout *);
00187 
00188 FTGL_END_C_DECLS
00189 
00190 #endif  /* __FTSimpleLayout__ */
00191