Main Page | File List | File Members

FTGLOutlineFont.cpp

Go to the documentation of this file.
00001 #include "FTGLOutlineFont.h" 00002 #include "FTOutlineGlyph.h" 00003 00004 00005 FTGLOutlineFont::FTGLOutlineFont( const char* fontname) 00006 : FTFont( fontname) 00007 {} 00008 00009 00010 FTGLOutlineFont::FTGLOutlineFont( const unsigned char *pBufferBytes, size_t bufferSizeInBytes) 00011 : FTFont( pBufferBytes, bufferSizeInBytes) 00012 {} 00013 00014 00015 FTGLOutlineFont::~FTGLOutlineFont() 00016 {} 00017 00018 00019 FTGlyph* FTGLOutlineFont::MakeGlyph( unsigned int g) 00020 { 00021 FT_GlyphSlot ftGlyph = face.Glyph( g, FT_LOAD_NO_HINTING); 00022 00023 if( ftGlyph) 00024 { 00025 FTOutlineGlyph* tempGlyph = new FTOutlineGlyph( ftGlyph); 00026 return tempGlyph; 00027 } 00028 00029 err = face.Error(); 00030 return NULL; 00031 } 00032 00033 00034 void FTGLOutlineFont::Render( const char* string) 00035 { 00036 glPushAttrib( GL_ENABLE_BIT | GL_HINT_BIT | GL_LINE_BIT | GL_COLOR_BUFFER_BIT); 00037 00038 glDisable( GL_TEXTURE_2D); 00039 00040 glEnable( GL_LINE_SMOOTH); 00041 glHint( GL_LINE_SMOOTH_HINT, GL_DONT_CARE); 00042 glEnable(GL_BLEND); 00043 glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE 00044 00045 FTFont::Render( string); 00046 00047 glPopAttrib(); 00048 } 00049 00050 00051 void FTGLOutlineFont::Render( const wchar_t* string) 00052 { 00053 glPushAttrib( GL_ENABLE_BIT | GL_HINT_BIT | GL_LINE_BIT | GL_COLOR_BUFFER_BIT); 00054 00055 glDisable( GL_TEXTURE_2D); 00056 00057 glEnable( GL_LINE_SMOOTH); 00058 glHint( GL_LINE_SMOOTH_HINT, GL_DONT_CARE); 00059 glEnable(GL_BLEND); 00060 glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); // GL_ONE 00061 00062 FTFont::Render( string); 00063 00064 glPopAttrib(); 00065 } 00066

Generated on Tue Jul 27 22:31:15 2004 for FTGL by doxygen 1.3.7