Edit

kc3-lang/ftgl/src/FTGLBitmapFont.cpp

Branch :

  • Show log

    Commit

  • Author : sammy
    Date : 2008-03-03 16:36:07
    Hash : f0f550ea
    Message : * Remove svn:executable property from source files.

  • src/FTGLBitmapFont.cpp
  • #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_Glyph* 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();
    }