Go to the documentation of this file.00001
00002
00003 #include <blort/TomGine/tgFont.h>
00004 #include <blort/TomGine/headers.h>
00005 #include <stdexcept>
00006 #include <stdio.h>
00007
00008 using namespace TomGine;
00009
00010 tgFont::tgFont(){
00011 #ifdef USE_FTGL_FONT
00012 m_font = new FTPixmapFont(TTF_FONT);
00013 if(m_font->Error()){
00014 char err[64];
00015 sprintf(err, "[tgFont::tgFont()] Errof cannot create font '%s'", TTF_FONT);
00016 throw std::runtime_error(err);
00017 }
00018 #else
00019 printf("[tgFont::tgFont] Warning: ftgl fonts disabled. USE_FTGL_FONT not defined\n");
00020 #endif
00021 }
00022
00023 tgFont::~tgFont(){
00024 #ifdef USE_FTGL_FONT
00025 if(m_font)
00026 delete(m_font);
00027 #endif
00028 }
00029
00030 void tgFont::Print(const char* text, int size, int pos_x, int pos_y) const{
00031 #ifdef USE_FTGL_FONT
00032 glEnable(GL_BLEND);
00033 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
00034 m_font->FaceSize(size);
00035
00036 m_font->Render(text, -1, FTPoint(pos_x,pos_y));
00037 glDisable(GL_BLEND);
00038 #endif
00039 }
00040
00041 void tgFont::Print(const char* text, int size, int pos_x, int pos_y, float x, float y, float z, float a) const{
00042 #ifdef USE_FTGL_FONT
00043 glColor4f(x,y,z,a);
00044 glEnable(GL_BLEND);
00045 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
00046 m_font->FaceSize(size);
00047
00048 m_font->Render(text, -1, FTPoint(pos_x,pos_y));
00049 glDisable(GL_BLEND);
00050 #endif
00051 }