Ignore:
Timestamp:
May 16, 2011, 2:37:19 AM (11 years ago)
Author:
Sam Hocevar
Message:

imlib: make JCFont use vec2i classes.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • abuse/trunk/src/imlib/fonts.cpp

    r667 r668  
    1919#include "fonts.h"
    2020
    21 void JCFont::put_string(image *screen, int x, int y, char const *st, int color)
    22 { while (*st)
    23   { put_char(screen,x,y,*st,color);
    24     st++;
    25     x+=tl;
    26   }
     21void JCFont::PutString(image *screen, vec2i pos, char const *st, int color)
     22{
     23    for ( ; *st; st++, pos.x += m_size.x)
     24        PutChar(screen, pos, *st, color);
    2725}
    2826
    29 void JCFont::put_char(image *screen,  int x, int y, char ch, int color)
     27void JCFont::PutChar(image *screen, vec2i pos, char ch, int color)
    3028{
    31   if (let[(int)ch])
    32   {
    33     if (color>=0)
    34       let[(int)ch]->PutColor(screen,vec2i(x,y),color);
    35     else let[(int)ch]->PutImage(screen,vec2i(x,y));
    36   }
     29    if (!m_data[(int)ch])
     30        return;
     31
     32    if (color >= 0)
     33        m_data[(int)ch]->PutColor(screen, pos, color);
     34    else
     35        m_data[(int)ch]->PutImage(screen, pos);
    3736}
    3837
    3938JCFont::JCFont(image *letters)
    4039{
    41   tl=(letters->Size().x+1)/32;
    42   th=(letters->Size().y+1)/8;
     40    m_size = (letters->Size() + vec2i(1)) / vec2i(32, 8);
    4341
    44   image tmp(vec2i(tl,th));
     42    image tmp(m_size);
    4543
    46   int ch;
    47 
    48   for (ch=0; ch<256; ch++)
    49   {
    50     tmp.clear();
    51     tmp.PutPart(letters, vec2i(0, 0), vec2i(((int)ch%32)*tl, ((int)ch/32)*th),
    52                 vec2i(((int)ch%32)*tl+tl, ((int)ch/32)*th+th), 1);
    53     let[ch] = new TransImage(&tmp, "JCfont");
    54   }
     44    for (int ch = 0; ch < 256; ch++)
     45    {
     46        tmp.clear();
     47        tmp.PutPart(letters, vec2i(0),
     48                    vec2i(ch % 32, ch / 32) * m_size,
     49                    vec2i(ch % 32 + 1, ch / 32 + 1) * m_size, 1);
     50        m_data[ch] = new TransImage(&tmp, "JCfont");
     51    }
    5552}
    5653
    5754JCFont::~JCFont()
    5855{
    59   int ch;
    60   for (ch=0; ch<256; ch++)
    61     delete let[ch];
     56    for (int ch = 0; ch < 256; ch++)
     57        delete m_data[ch];
    6258}
    6359
Note: See TracChangeset for help on using the changeset viewer.