forked from bartvdbraak/blender
4e2143f639
Patch provied by gsrb3d bug tracker #7061 Kent
67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
#include "FTGLBitmapFont.h"
|
|
#include "FTBitmapGlyph.h"
|
|
|
|
|
|
FTGLBitmapFont::FTGLBitmapFont( const char* fontname)
|
|
: FTFont( fontname)
|
|
{}
|
|
|
|
|
|
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();
|
|
}
|
|
|