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

imlib: convert some Jwindow members to vec2i.

File:
1 edited

Legend:

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

    r670 r671  
    4444}
    4545
    46  // true if a window lies in this area
    47 int WindowManager::window_in_area(int x1, int y1, int x2, int y2)
    48 {
    49   for (Jwindow *f=m_first; f; f=f->next)
    50     if (f->m_pos.x<=x2 && f->m_pos.y<=y2 && f->m_pos.x+f->l-1>=x1 && f->m_pos.y+f->h-1>=y1)
    51       return 1;
    52   return 0;
    53 }
    54 
    5546void WindowManager::grab_focus(Jwindow *j)
    5647{ m_grab=j; }
     
    7263        {
    7364            p->hide();
    74             m_surf->AddDirty(p->m_pos, p->m_pos + vec2i(p->l, p->h));
     65            m_surf->AddDirty(p->m_pos, p->m_pos + p->m_size);
    7566        }
    7667    }
     
    9485        for (k = m_first; k->next != j; k = k->next)
    9586            k->m_surf->AddDirty(j->m_pos - k->m_pos,
    96                                 j->m_pos + vec2i(j->l, j->h) - k->m_pos);
     87                                j->m_pos - k->m_pos + j->m_size);
    9788        k->m_surf->AddDirty(j->m_pos - k->m_pos,
    98                             j->m_pos + vec2i(j->l, j->h) - k->m_pos);
     89                            j->m_pos - k->m_pos + j->m_size);
    9990        k->next = j->next;
    10091    }
    101     m_surf->AddDirty(j->m_pos, j->m_pos + vec2i(j->l, j->h));
     92    m_surf->AddDirty(j->m_pos, j->m_pos + j->m_size);
    10293    j->hide();
    10394}
     
    10899    {
    109100        j->show();
    110         j->m_surf->AddDirty(vec2i(0), vec2i(j->l, j->h));
     101        j->m_surf->AddDirty(vec2i(0), j->m_size);
    111102    }
    112103}
     
    126117    for (ev.window=NULL,j=m_first; j; j=j->next)
    127118      if (!j->is_hidden() && ev.mouse_move >= j->m_pos
    128                           && ev.mouse_move < j->m_pos + vec2i(j->l, j->h))
     119                          && ev.mouse_move < j->m_pos + j->m_size)
    129120        ev.window=j;
    130121
     
    137128      if ((ev.type==EV_MOUSE_BUTTON && ev.mouse_button==1 && ev.window &&
    138129       ev.mouse_move >= ev.window->m_pos &&
    139        ev.mouse_move < ev.window->m_pos + vec2i(ev.window->l, ev.window->y1())))
     130       ev.mouse_move < ev.window->m_pos + vec2i(ev.window->m_size.x, ev.window->y1())))
    140131      {
    141132    if (ev.mouse_move.x-ev.window->m_pos.x < 11) closew=1;
     
    183174      for (p=m_first; p!=j; p=p->next)
    184175        p->m_surf->AddDirty(j->x-p->x,j->y-p->y,j->x+j->l-p->x,j->y+j->h-p->y); */
    185       j->m_surf->AddDirty(vec2i(0), vec2i(j->l, j->h));
     176      j->m_surf->AddDirty(vec2i(0), j->m_size);
    186177      flush_screen();
    187178    }
     
    223214}
    224215
    225 void Jwindow::resize(int L, int H)
    226 {
    227   m_surf->SetSize(vec2i(L,H));
    228   l=L; h=H;
     216void Jwindow::Resize(vec2i size)
     217{
     218    m_surf->SetSize(size);
     219    m_size = size;
    229220}
    230221
     
    232223{
    233224  Jwindow *p;
    234   m_surf->AddDirty(j->m_pos, j->m_pos + vec2i(j->l, j->h));
     225  m_surf->AddDirty(j->m_pos, j->m_pos + j->m_size);
    235226  for (p=m_first; p!=j; p=p->next)
    236227    p->m_surf->AddDirty(j->m_pos - p->m_pos,
    237                         j->m_pos - p->m_pos + vec2i(j->l, j->h));
    238   j->resize(l,h);
     228                        j->m_pos - p->m_pos + j->m_size);
     229  j->Resize(vec2i(l,h));
    239230  if (!frame_suppress)
    240231  j->redraw();
     
    243234void WindowManager::move_window(Jwindow *j, int x, int y)
    244235{
    245     m_surf->AddDirty(j->m_pos, j->m_pos + vec2i(j->l, j->h));
     236    m_surf->AddDirty(j->m_pos, j->m_pos + j->m_size);
    246237    for(Jwindow *p = m_first; p != j; p = p->next)
    247238        p->m_surf->AddDirty(j->m_pos - p->m_pos,
    248                             j->m_pos - p->m_pos + vec2i(j->l, j->h));
     239                            j->m_pos - p->m_pos + j->m_size);
    249240    j->m_pos.x = x;
    250241    j->m_pos.y = y;
    251     j->m_surf->AddDirty(vec2i(0), vec2i(j->l, j->h));
     242    j->m_surf->AddDirty(vec2i(0), j->m_size);
    252243}
    253244
     
    302293        for(search = m_first; search->next != win; search = search->next)
    303294            search->m_surf->AddDirty(win->m_pos - search->m_pos,
    304                                      win->m_pos - search->m_pos
    305                                                 + vec2i(win->l, win->h));
     295                                     win->m_pos - search->m_pos + win->m_size);
    306296        search->m_surf->AddDirty(win->m_pos - search->m_pos,
    307                                  win->m_pos - search->m_pos
    308                                             + vec2i(win->l, win->h));
     297                                 win->m_pos - search->m_pos + win->m_size);
    309298        search->next = win->next;
    310299    }
    311300
    312     m_surf->AddDirty(win->m_pos, win->m_pos + vec2i(win->l, win->h));
    313 }
    314 
    315 Jwindow * WindowManager::new_window(int x, int y, int l, int h,
    316                                      ifield * fields, char const *name)
    317 {
    318     if(x > m_surf->Size().x - 4)
    319         x = m_surf->Size().x - 25;
    320     if(y > m_surf->Size().y - 4)
    321         y = m_surf->Size().y - 10;
    322 
    323     Jwindow * j = new Jwindow (vec2i(x, y), l, h, fields, name);
     301    m_surf->AddDirty(win->m_pos, win->m_pos + win->m_size);
     302}
     303
     304Jwindow * WindowManager::CreateWindow(vec2i pos, vec2i size,
     305                                      ifield * fields, char const *name)
     306{
     307    if(pos.x > m_surf->Size().x - 4)
     308        pos.x = m_surf->Size().x - 25;
     309    if(pos.y > m_surf->Size().y - 4)
     310        pos.y = m_surf->Size().y - 10;
     311
     312    Jwindow * j = new Jwindow(pos, size, fields, name);
    324313    j->show();
    325314
     
    342331    for (Jwindow *p = m_first; p; p = p->next)
    343332        if (!p->is_hidden())
    344             m_surf->DeleteDirty(p->m_pos, p->m_pos + vec2i(p->l, p->h));
     333            m_surf->DeleteDirty(p->m_pos, p->m_pos + p->m_size);
    345334    update_dirty(m_surf);
    346335
     
    360349        }
    361350
    362 //      m_surf->DeleteDirty(p->m_pos, p->m_pos + vec2i(p->l, p->h));
     351//      m_surf->DeleteDirty(p->m_pos, p->m_pos + p->m_size);
    363352        for (Jwindow *q = p->next; q; q = q->next)
    364353            if (!q->is_hidden())
    365354                p->m_surf->DeleteDirty(q->m_pos - p->m_pos,
    366                                        q->m_pos - p->m_pos + vec2i(q->l, q->h));
     355                                       q->m_pos - p->m_pos + q->m_size);
    367356        update_dirty(p->m_surf, p->m_pos.x, p->m_pos.y);
    368357        if (has_mouse())
     
    393382}
    394383
    395 Jwindow::Jwindow(vec2i pos, int L, int H, ifield *f, char const *name)
    396 {
    397     l = 0;
    398     h = 0;
     384Jwindow::Jwindow(vec2i pos, vec2i size, ifield *f, char const *name)
     385{
     386    m_size = 0;
    399387    _hidden = false;
    400388    _moveable = true;
     
    407395    reconfigure(); /* FIXME: TODO */
    408396
    409     l = L >= 0 ? L + left_border() : l - L;
    410     h = H >= 0 ? H + top_border() : h - H;
    411     m_pos.x = pos.x >= 0 ? pos.x : xres - l + pos.x - left_border() - right_border() - 1;
    412     m_pos.y = pos.y >= 0 ? pos.y : yres - h + pos.y - top_border() - bottom_border() - 1;
     397    m_size.x = size.x >= 0 ? size.x + left_border() : m_size.x - size.x;
     398    m_size.y = size.y >= 0 ? size.y + top_border() : m_size.y - size.y;
     399    m_pos.x = pos.x >= 0 ? pos.x : xres - m_size.x + pos.x - left_border() - right_border() - 1;
     400    m_pos.y = pos.y >= 0 ? pos.y : yres - m_size.y + pos.y - top_border() - bottom_border() - 1;
    413401
    414402    backg = wm->medium_color();
    415403
    416     _x2 = l - 1;
    417     _y2 = h - 1;
    418     l += right_border();
    419     h += bottom_border();
    420 
    421     if(L == -1)
    422         if(l < 15 + left_border() + right_border())
    423             l = 15 + left_border() + right_border();
    424     if(H == -1)
    425         if(h < top_border() + bottom_border())
    426             h = top_border() + bottom_border();
    427     m_surf = new image(vec2i(l, h), NULL, 2);
     404    _x2 = m_size.x - 1;
     405    _y2 = m_size.y - 1;
     406    m_size += vec2i(right_border(), bottom_border());
     407
     408    if(size.x == -1)
     409        m_size.x = Max(m_size.x, 15 + left_border() + right_border());
     410    if(size.y == -1)
     411        m_size.y = Max(m_size.y, top_border() + bottom_border());
     412    m_surf = new image(m_size, NULL, 2);
    428413    m_surf->clear(backg);
    429414    // Keep this from getting destroyed when image list is cleared
     
    456441    int x1, y1, x2, y2;
    457442    ifield *i;
    458     l = 2;
    459     h = 2;
     443    m_size = vec2i(2);
    460444    for(i = inm->m_first; i; i = i->next)
    461445    {
    462446        i->set_owner(this);
    463447        i->area(x1, y1, x2, y2);
    464         if ((int)y2 > (int)h)
    465             h = y2;
    466         if ((int)x2 > (int)l)
    467             l = x2;
     448        m_size = Max(m_size, vec2i(x2, y2));
    468449    }
    469450}
     
    485466        if (right_border() >= 1)
    486467        {
    487             m_surf->WidgetBar(vec2i(0, 0), vec2i(l - 1, h - 1), hi, med, low);
     468            m_surf->WidgetBar(vec2i(0, 0), m_size - vec2i(1), hi, med, low);
    488469            if (right_border() >= 3)
    489470                m_surf->WidgetBar(vec2i(right_border() - 1, top_border() - 1),
    490                                   vec2i(l - left_border(), h - bottom_border()),
     471                                  m_size - vec2i(left_border(), bottom_border()),
    491472                                  low, med, hi);
    492473
     
    505486      if (right_border() >= 1)
    506487        {
    507           m_surf->WidgetBar(vec2i(0, 0), vec2i(l - 1, h - 1), hi, med, low);
     488          m_surf->WidgetBar(vec2i(0, 0), m_size - vec2i(1), hi, med, low);
    508489          if (right_border() >= 3)
    509490            m_surf->WidgetBar(vec2i(right_border() - 1, jw_top + 4),
    510                               vec2i(l - left_border(), h - bottom_border()),
     491                              m_size - vec2i(left_border(), bottom_border()),
    511492                              low, med, hi);
    512493          else
Note: See TracChangeset for help on using the changeset viewer.