Ignore:
Timestamp:
Aug 16, 2010, 11:40:12 PM (10 years ago)
Author:
sam
Message:

Improve the text appearance using an outline.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/font.cpp

    r121 r127  
    105105        float ty = .0625f * ((ch >> 4) & 0xf);
    106106
    107         glTexCoord2f(tx, ty);
    108         glVertex2f(x, y);
    109         glTexCoord2f(tx + .0625f, ty);
    110         glVertex2f(x + w, y);
    111         glTexCoord2f(tx + .0625f, ty + .0625f);
    112         glVertex2f(x + w, y + h);
    113         glTexCoord2f(tx, ty + .0625f);
    114         glVertex2f(x, y + h);
     107        if (ch != ' ')
     108        {
     109            glTexCoord2f(tx, ty);
     110            glVertex2f(x, y);
     111            glTexCoord2f(tx + .0625f, ty);
     112            glVertex2f(x + w, y);
     113            glTexCoord2f(tx + .0625f, ty + .0625f);
     114            glVertex2f(x + w, y + h);
     115            glTexCoord2f(tx, ty + .0625f);
     116            glVertex2f(x, y + h);
     117        }
    115118
    116119        x += w;
     
    121124void Font::PrintBold(int x, int y, char const *str)
    122125{
    123     Print(x, y, str);
    124     Print(x + 1, y, str);
    125     Print(x, y + 1, str);
     126    static struct { int dx, dy; float r, g, b; } tab[] =
     127    {
     128        { -1,  0, 0.0, 0.0, 0.0 },
     129        {  0, -1, 0.0, 0.0, 0.0 },
     130        {  0,  1, 0.0, 0.0, 0.0 },
     131        {  1, -1, 0.0, 0.0, 0.0 },
     132        {  1,  1, 0.0, 0.0, 0.0 },
     133        {  2,  0, 0.0, 0.0, 0.0 },
     134        {  1,  0, 0.5, 0.5, 0.5 },
     135        {  0,  0, 1.0, 1.0, 1.0 },
     136    };
     137
     138    glPushAttrib(GL_COLOR_BUFFER_BIT | GL_CURRENT_BIT);
     139    for (unsigned int i = 0; i < sizeof(tab) / sizeof(*tab); i++)
     140    {
     141        glColor3f(tab[i].r, tab[i].g, tab[i].b);
     142        Print(x + tab[i].dx, y + tab[i].dy, str);
     143    }
     144    glPopAttrib();
    126145}
    127146
Note: See TracChangeset for help on using the changeset viewer.