Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
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 __FTLayout__
00034 #define __FTLayout__
00035
00036 #ifdef __cplusplus
00037
00038
00039 class FTLayoutImpl;
00040
00052 class FTGL_EXPORT FTLayout
00053 {
00054 protected:
00055 FTLayout();
00056
00057 private:
00064 FTLayout(FTLayoutImpl *pImpl);
00065
00066
00067 friend class FTSimpleLayout;
00068
00069 public:
00073 virtual ~FTLayout();
00074
00085 virtual FTBBox BBox(const char* string, const int len = -1,
00086 FTPoint position = FTPoint()) = 0;
00087
00098 virtual FTBBox BBox(const wchar_t* string, const int len = -1,
00099 FTPoint position = FTPoint()) = 0;
00100
00111 virtual void Render(const char *string, const int len = -1,
00112 FTPoint position = FTPoint(),
00113 int renderMode = FTGL::RENDER_ALL) = 0;
00114
00125 virtual void Render(const wchar_t *string, const int len = -1,
00126 FTPoint position = FTPoint(),
00127 int renderMode = FTGL::RENDER_ALL) = 0;
00128
00134 virtual FT_Error Error() const;
00135
00136 private:
00140 FTLayoutImpl *impl;
00141 };
00142
00143 #endif //__cplusplus
00144
00145 FTGL_BEGIN_C_DECLS
00146
00150 struct _FTGLlayout;
00151 typedef struct _FTGLlayout FTGLlayout;
00152
00158 FTGL_EXPORT void ftglDestroyLayout(FTGLlayout* layout);
00159
00168 FTGL_EXPORT void ftglGetLayoutBBox(FTGLlayout *layout, const char* string,
00169 float bounds[6]);
00170
00178 FTGL_EXPORT void ftglRenderLayout(FTGLlayout *layout, const char *string,
00179 int mode);
00180
00187 FTGL_EXPORT FT_Error ftglGetLayoutError(FTGLlayout* layout);
00188
00189 FTGL_END_C_DECLS
00190
00191 #endif
00192