Back to index

extremetuxracer  0.5beta
FTGLTextureFont.h
Go to the documentation of this file.
00001 #ifndef     __FTGLTextureFont__
00002 #define     __FTGLTextureFont__
00003 
00004 #include "FTFont.h"
00005 #include "FTVector.h"
00006 #include "FTGL.h"
00007 
00008 class FTTextureGlyph;
00009 
00010 
00017 class  FTGL_EXPORT FTGLTextureFont : public FTFont
00018 {
00019     public:
00025         FTGLTextureFont( const char* fontFilePath);
00026         
00033         FTGLTextureFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes);
00034         
00038         virtual ~FTGLTextureFont();
00039 
00047         virtual bool FaceSize( const unsigned int size, const unsigned int res = 72);
00048 
00054         virtual void Render( const char* string);
00055         
00061         virtual void Render( const wchar_t* string);
00062 
00063         
00064     private:
00071         inline virtual FTGlyph* MakeGlyph( unsigned int glyphIndex);
00072                 
00079         inline void CalculateTextureSize();
00080 
00091         inline GLuint CreateTexture();
00092         
00096         GLsizei maximumGLTextureSize;
00097         
00101         GLsizei textureWidth;
00102         
00106         GLsizei textureHeight;
00107         
00111          FTVector<GLuint> textureIDList;
00112         
00116         int glyphHeight;
00117 
00121         int glyphWidth;
00122 
00127         unsigned int padding;
00128         
00132          unsigned int numGlyphs;
00133         
00136         unsigned int remGlyphs;
00137 
00140         int xOffset;
00141 
00144         int yOffset;
00145 
00146 };
00147 
00148 
00149 #endif // __FTGLTextureFont__
00150 
00151