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

imlib: make JCFont use vec2i classes.

File:
1 edited

Legend:

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

    r665 r668  
    159159      int w,h;
    160160      calc_size(w,h);
    161       item_num(active)->draw(win,x+3,y+3+active*(wm->font()->height()+1),w-6,0,0);
     161      item_num(active)->draw(win,x+3,y+3+active*(wm->font()->Size().y+1),w-6,0,0);
    162162    }
    163163    wm->close_window(win);
     
    168168void psub_menu::calc_size(int &w, int &h)
    169169{
    170   int tw=wm->font()->width(),th=wm->font()->height();
     170    vec2i ts = wm->font()->Size();
    171171  w=h=0;
    172172  for (pmenu_item *p=first; p; p=p->next)
     
    174174    if (p->name())
    175175    {
    176       int l=strlen(p->name())*tw+8;
    177       if (p->on_off) l+=tw*4;
     176      int l=strlen(p->name())*ts.x+8;
     177      if (p->on_off) l+=ts.x*4;
    178178      if (l>w) w=l;
    179179    }
    180180    h++;
    181181  }
    182   h=h*(th+1)+8;
     182  h=h*(ts.y+1)+8;
    183183}
    184184
     
    195195  if (h+y+parent->m_pos.y>=cbb.y)
    196196  {
    197     if (parent->m_pos.y+parent->h+wm->font()->height()>=cbb.y)
     197    if (parent->m_pos.y+parent->h+wm->font()->Size().y>=cbb.y)
    198198      y=-h;
    199     else y=y-h+wm->font()->height()+5;
     199    else y=y-h+wm->font()->Size().y+5;
    200200  }
    201201
     
    213213  pmenu_item *p=first;
    214214  for (; p; p=p->next) if (p->on_off) has_flags=1;
    215   x=has_flags ? 3+wm->font()->width() : 3;
    216   y=3;
    217 
    218   for (p=first; p; p=p->next,i++,y+=wm->font()->height()+1)
     215  x = has_flags ? 3 + wm->font()->Size().x : 3;
     216  y = 3;
     217
     218  for (p=first; p; p=p->next,i++,y+=wm->font()->Size().y+1)
    219219    p->draw(win,x,y,w-6,0,i==active);
    220220
     
    224224{
    225225  int bx=x;
    226   if (on_off) bx=x-wm->font()->width();
     226  if (on_off) bx=x-wm->font()->Size().x;
    227227
    228228  if (!n)
    229229  {
    230     int h=wm->font()->height();
     230    int h=wm->font()->Size().y;
    231231    parent->m_surf->WidgetBar(vec2i(x, y + h / 2 - 1),
    232232                              vec2i(x + w - 1, y + h / 2), wm->dark_color(),
     
    237237    {
    238238      if (xp!=-1)
    239         parent->m_surf->xor_bar(bx,y,x+w-1,y+wm->font()->height()+1,wm->dark_color());
     239        parent->m_surf->xor_bar(bx,y,x+w-1,y+wm->font()->Size().y+1,wm->dark_color());
    240240      else
    241241      {
    242242    parent->m_surf->Bar(vec2i(bx, y),
    243                         vec2i(x + w - 1, y + wm->font()->height() + 1),
     243                        vec2i(x + w - 1, y + wm->font()->Size().y + 1),
    244244                        wm->dark_color());
    245     wm->font()->put_string(parent->m_surf,x+1,y+1,n,wm->medium_color());
    246     if (on_off && *on_off) wm->font()->put_string(parent->m_surf,bx+1,y+1,"*",wm->medium_color());
     245    wm->font()->PutString(parent->m_surf, vec2i(x+1, y+1), n, wm->medium_color());
     246    if (on_off && *on_off) wm->font()->PutString(parent->m_surf, vec2i(bx+1, y+1), "*", wm->medium_color());
    247247      }
    248248    } else
    249249    {
    250250      if (xp!=-1)
    251         parent->m_surf->xor_bar(bx,y,x+w-1,y+wm->font()->height()+1,wm->dark_color());
     251        parent->m_surf->xor_bar(bx,y,x+w-1,y+wm->font()->Size().y+1,wm->dark_color());
    252252      else
    253253      {
    254254    parent->m_surf->Bar(vec2i(bx, y),
    255                         vec2i(x + w - 1, y + wm->font()->height() + 1),
     255                        vec2i(x + w - 1, y + wm->font()->Size().y + 1),
    256256                        wm->medium_color());
    257     wm->font()->put_string(parent->m_surf,x+1,y+1,n,wm->bright_color());
    258     if (on_off && *on_off) wm->font()->put_string(parent->m_surf,bx+1,y+1,"*",wm->bright_color());
     257    wm->font()->PutString(parent->m_surf, vec2i(x + 1, y + 1), n, wm->bright_color());
     258    if (on_off && *on_off) wm->font()->PutString(parent->m_surf, vec2i(bx + 1, y + 1), "*", wm->bright_color());
    259259      }
    260260    }
     
    273273      {
    274274    if (top)
    275           sub->draw(parent,x,y+wm->font()->height()+2);
     275          sub->draw(parent,x,y+wm->font()->Size().y+2);
    276276    else
    277277      sub->draw(parent,x+w,y);
     
    283283      {
    284284    if (top)
    285           sub->hide(parent,x,y+wm->font()->height()+2);
     285          sub->hide(parent,x,y+wm->font()->Size().y+2);
    286286    else
    287287      sub->hide(parent,x+w,y);
     
    328328  int has_flags=0,dx=3;
    329329  for (pmenu_item *p=first; p; p=p->next) if (p->on_off) has_flags=1;
    330   if (has_flags) dx+=wm->font()->width();
    331 
    332   int th=wm->font()->height();
     330  if (has_flags) dx+=wm->font()->Size().x;
     331
     332  int th=wm->font()->Size().y;
    333333  if (ev.mouse_move.x>=x && ev.mouse_move.y>=y && ev.mouse_move.x<x+w && ev.mouse_move.y<y+h)
    334334  {
     
    363363  y+=parent->m_pos.y;
    364364  if (ev.mouse_move.x>=x && ev.mouse_move.y>=y && ev.mouse_move.x<x+w &&
    365       ev.mouse_move.y<y+wm->font()->height()+2)
     365      ev.mouse_move.y<y+wm->font()->Size().y+2)
    366366  {
    367367    if (sub) return 1;
     
    375375  {
    376376    if (top)
    377       return sub->handle_event(parent,x,y+wm->font()->height()+2,ev);
     377      return sub->handle_event(parent,x,y+wm->font()->Size().y+2,ev);
    378378    else return sub->handle_event(parent,x+w,y,ev);
    379379  } else return 0;
Note: See TracChangeset for help on using the changeset viewer.