67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #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();
 | |
| }
 | |
| 
 | 
