Changeset 127


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

Improve the text appearance using an outline.

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/debugfps.cpp

    r122 r127  
    5959            1e3f * Profiler::GetMean(Profiler::STAT_TICK_GAME),
    6060            1e3f * Profiler::GetMax(Profiler::STAT_TICK_GAME));
    61     data->font->PrintBold(10, 28, buf);
     61    data->font->PrintBold(10, 34, buf);
    6262
    6363    sprintf(buf, "Render % 7.2f % 7.2f",
    6464            1e3f * Profiler::GetMean(Profiler::STAT_TICK_RENDER),
    6565            1e3f * Profiler::GetMax(Profiler::STAT_TICK_RENDER));
    66     data->font->PrintBold(10, 46, buf);
     66    data->font->PrintBold(10, 50, buf);
    6767
    6868    sprintf(buf, "Blit   % 7.2f % 7.2f",
    6969            1e3f * Profiler::GetMean(Profiler::STAT_TICK_BLIT),
    7070            1e3f * Profiler::GetMax(Profiler::STAT_TICK_BLIT));
    71     data->font->PrintBold(10, 64, buf);
     71    data->font->PrintBold(10, 66, buf);
    7272
    7373    sprintf(buf, "Frame  % 7.2f % 7.2f",
  • 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.