#include "engine.h" #include "glbase.h" #include "glfont.h" #ifdef HAVE_CONFIG_H #include "config.h" #endif mogltk::glfont::glfont(Handle * ffont) : font(ffont) { } mogltk::glfont::~glfont() { } void mogltk::glfont::drawentry(Uint16 entry, int x, int y, ColorP c) { bool was2D; int trueentry, cx, cy, px, py; was2D = mogltk::engine::glbase_o->is2D(); if (!was2D) mogltk::engine::glbase_o->Enter2DMode(); if (shadow) { int os = shadow; shadow = 0; drawentry(entry, x + os, y + os, BLACK); shadow = os; } y -= base; Bind(entry / nbcT); c.Bind(); trueentry = entry % nbcT; cx = trueentry % nbcU; cy = trueentry / nbcU; px = cx * maxX; py = cy * maxY; glBegin(GL_TRIANGLE_STRIP); glTexCoord2i(px , py ); glVertex2i(x , y ); glTexCoord2i(px + maxX - 1, py ); glVertex2i(x + maxX - 1, y ); glTexCoord2i(px , py + maxY - 1); glVertex2i(x , y + maxY - 1); glTexCoord2i(px + maxX - 1, py + maxY - 1); glVertex2i(x + maxX - 1, y + maxY - 1); glEnd(); if (!was2D) mogltk::engine::glbase_o->Leave2DMode(); }