| #include "FTGLBitmapFont.h" |
| #include "FTBitmapGlyph.h" |
| |
| |
| FTGLBitmapFont::FTGLBitmapFont( const char* fontFilePath) |
| : FTFont( fontFilePath) |
| {} |
| |
| |
| FTGLBitmapFont::FTGLBitmapFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes) |
| : FTFont( pBufferBytes, bufferSizeInBytes) |
| {} |
| |
| |
| FTGLBitmapFont::~FTGLBitmapFont() |
| {} |
| |
| |
| FTGlyph* FTGLBitmapFont::MakeGlyph( unsigned int g) |
| { |
| FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_DEFAULT); |
| |
| if( ftGlyph) |
| { |
| FTBitmapGlyph* tempGlyph = new FTBitmapGlyph( ftGlyph); |
| return tempGlyph; |
| } |
| |
| err = face.Error(); |
| return NULL; |
| } |
| |
| |
| void FTGLBitmapFont::Render( const char* string) |
| { |
| glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT); |
| glPushAttrib( GL_ENABLE_BIT); |
| |
| glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE); |
| glPixelStorei( GL_UNPACK_ALIGNMENT, 1); |
| |
| glDisable( GL_BLEND); |
| |
| FTFont::Render( string); |
| |
| glPopAttrib(); |
| glPopClientAttrib(); |
| } |
| |
| |
| void FTGLBitmapFont::Render( const wchar_t* string) |
| { |
| glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT); |
| glPushAttrib( GL_ENABLE_BIT); |
| |
| glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE); |
| glPixelStorei( GL_UNPACK_ALIGNMENT, 1); |
| |
| glDisable( GL_BLEND); |
| |
| FTFont::Render( string); |
| |
| glPopAttrib(); |
| glPopClientAttrib(); |
| } |
| |