// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2008 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see .
// Interface functions for tex_info stuff.
// Contributed by Tolu Aina
#ifdef _WIN32
#include "boinc_win.h"
#endif
#include
#include "filesys.h"
#include "boinc_api.h"
#include "texfont.h"
#include "txf_util.h"
#ifndef _MAX_PATH
#define _MAX_PATH 256
#endif
static TexFont* txf[TXF_NUM_FONT];
// load fonts. call once.
//
void txf_load_fonts(char* dir) {
char vpath[_MAX_PATH], phys_path[_MAX_PATH];
for (int i=0 ; i= TXF_NUM_FONT) || !txf[i]) {
// bad font index
return;
}
glPushMatrix();
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, txf[i]->texobj);
glTranslated(x, y, z);
glScalef(1/fscale, 1/fscale, 1/fscale);
if (fRotAngle != 0.0f) {
// we want to rotate around Z y default,
// which keeps our text in 2D plane
glRotatef(fRotAngle, fRotX, fRotY, fRotZ);
}
glEnable(GL_ALPHA_TEST);
// use .1 and .5 for a dark and bright background respectively
glAlphaFunc(GL_GEQUAL, alpha_value);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glColor4fv(col);
txfRenderString(txf[i], s, (int)strlen(s));
glDisable(GL_TEXTURE_2D);
glPopMatrix();
}
#if 0
int main (){
// usage:
// first parameter is alpha value : use .1 and .5 for dark and bright background seems to work
// 7th can probably be list of #defines of font names.
render_string(.1f, -1, -1, 0, 200.0f, white, 0, "hello world.");
}
#endif