0,0 → 1,45 |
//list_box |
|
struct llist |
{ |
int x, y, w, h, min_h; |
int line_h; |
int count, visible, first, current; |
void ClearList(); |
void SetSizes(int xx, yy, ww, hh, min_hh, line_hh); |
int MouseScroll(dword scroll_state); |
}; |
|
|
void llist::ClearList() |
{ |
count = visible = first = current = 0; |
} |
|
|
void llist::SetSizes(int xx, yy, ww, hh, min_hh, line_hh) |
{ |
x = xx; |
y = yy; |
w = ww; |
h = hh; |
min_h = min_hh; |
line_h = line_hh; |
} |
|
|
int llist::MouseScroll(dword scroll_state) |
{ |
if (scroll_state == 65535) |
{ |
if (first == 0) return 0; |
if (first > 3) first -= 2; else first=0; |
return 1; |
} |
if (scroll_state == 1) |
{ |
if (visible+first+3 >= count) first = count - visible; else first+=2; |
return 1; |
} |
return 0; |
} |