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/input.cpp

    r659 r668  
    202202
    203203    if (pressed)
    204         pos2 += pressed->Size() - vec2i(1, 1);
     204        pos2 += pressed->Size() - vec2i(1);
    205205    else if (text)
    206         pos2 += vec2i(wm->font()->width() * strlen(text) + 6,
    207                       wm->font()->height() + 6);
     206        pos2 += wm->font()->Size() * vec2i(strlen(text), 1) + vec2i(6);
    208207    else
    209         pos2 += visual->Size() + vec2i(6, 6);
     208        pos2 += visual->Size() + vec2i(6);
    210209
    211210    x1 = pos1.x; y1 = pos1.y;
     
    405404void button::draw_first(image *screen)
    406405{
    407   if (pressed)
    408     draw(0,screen);
    409   else
    410   {
     406    if (pressed)
     407    {
     408        draw(0, screen);
     409        return;
     410    }
    411411
    412412    int x1,y1,x2,y2;
    413413    area(x1,y1,x2,y2);
    414 
    415414
    416415    if (up)
     
    420419      screen->WidgetBar(vec2i(x1 + 1, y1 + 1), vec2i(x2 - 1, y2 - 1),
    421420                        wm->bright_color(),wm->medium_color(),wm->dark_color());
    422       if (text)
    423       {
    424         wm->font()->put_string(screen,m_pos.x+4,m_pos.y+5,text,wm->black());
    425         wm->font()->put_string(screen,m_pos.x+3,m_pos.y+4,text);
    426       }
    427       else screen->PutImage(visual, m_pos + vec2i(3, 3), 1);
    428     } else
     421    }
     422    else
    429423    {
    430424      screen->Line(vec2i(x1, y1), vec2i(x2, y1), wm->dark_color());
     
    434428      screen->Bar(vec2i(x1 + 1, y1 + 1), vec2i(x2 - 1, y2 - 1),
    435429                  wm->medium_color());
    436       if (visual)
     430    }
     431
     432    if ((up && text) || (!up && !visual))
     433    {
     434        wm->font()->PutString(screen, m_pos + vec2i(4, 5), text, wm->black());
     435        wm->font()->PutString(screen, m_pos + vec2i(3, 4), text);
     436    }
     437    else if (up)
     438        screen->PutImage(visual, m_pos + vec2i(3, 3), 1);
     439    else
    437440        screen->PutImage(visual, vec2i(x1 + 3, y1 + 3), 1);
    438       else
    439       {
    440         wm->font()->put_string(screen,m_pos.x+4,m_pos.y+5,text,wm->black());
    441         wm->font()->put_string(screen,m_pos.x+3,m_pos.y+4,text);
    442       }
    443     }
    444   }
    445441}
    446442
    447443void text_field::draw_first(image *screen)
    448444{
    449   wm->font()->put_string(screen,m_pos.x,m_pos.y+3,prompt);
     445  wm->font()->PutString(screen, m_pos + vec2i(0, 3), prompt);
    450446  screen->Bar(vec2i(xstart(), m_pos.y), vec2i(xend(), yend()), wm->dark_color());
    451   wm->font()->put_string(screen,xstart()+1,m_pos.y+3,data);
     447  wm->font()->PutString(screen, vec2i(xstart() + 1, m_pos.y + 3), data);
    452448}
    453449
     
    455451void text_field::draw_cur(int color, image *screen)
    456452{
    457   screen->Bar(vec2i(xstart() + cur * wm->font()->width() + 1, yend() - 2),
    458               vec2i(xstart() + (cur + 1) * wm->font()->width(), yend() - 1),
     453  screen->Bar(vec2i(xstart() + cur * wm->font()->Size().x + 1, yend() - 2),
     454              vec2i(xstart() + (cur + 1) * wm->font()->Size().x, yend() - 1),
    459455              color);
    460456}
     
    474470  if (w==-1)     // if we haven't calculated this yet
    475471  {
    476     int fw=wm->font()->width(),fh=wm->font()->height(),maxw=0;
     472    int fw = wm->font()->Size().x, fh = wm->font()->Size().y, maxw = 0;
    477473    char *info=text;
    478474    for (w=fw,h=fh+1; *info; info++)
     
    507503    else
    508504    {
    509       font->put_char(screen,dx,dy,*st,color);
     505      font->PutChar(screen, vec2i(dx, dy), *st, color);
    510506      dx+=xspace;
    511507    }
     
    516512void info_field::draw_first(image *screen)
    517513{
    518   put_para(screen,text,m_pos.x+1,m_pos.y+1,wm->font()->width(),wm->font()->height(),wm->font(),wm->black());
    519   put_para(screen,text,m_pos.x,m_pos.y,wm->font()->width(),wm->font()->height(),wm->font(),wm->bright_color());
    520 }
    521 
    522 
    523 
    524 
     514  put_para(screen, text, m_pos.x+1, m_pos.y+1, wm->font()->Size().x,
     515           wm->font()->Size().y, wm->font(), wm->black());
     516  put_para(screen, text, m_pos.x, m_pos.y, wm->font()->Size().x,
     517           wm->font()->Size().y, wm->font(), wm->bright_color());
     518}
     519
Note: See TracChangeset for help on using the changeset viewer.