… | |
… | |
31 | our $WIDTH; |
31 | our $WIDTH; |
32 | our $HEIGHT; |
32 | our $HEIGHT; |
33 | our $FULLSCREEN; |
33 | our $FULLSCREEN; |
34 | |
34 | |
35 | our $FONTSIZE; |
35 | our $FONTSIZE; |
36 | our $FOCUS; |
36 | |
37 | our $HOVER; |
37 | our ($FOCUS, $HOVER, $GRAB); # various widgets |
38 | |
38 | |
39 | our $SDL_TIMER; |
39 | our $SDL_TIMER; |
40 | our $SDL_APP; |
40 | our $SDL_APP; |
41 | our $SDL_EV = new SDL::Event; |
41 | our $SDL_EV = new SDL::Event; |
42 | our %SDL_CB; |
42 | our %SDL_CB; |
… | |
… | |
238 | SDL_KEYUP() => sub { |
238 | SDL_KEYUP() => sub { |
239 | Crossfire::Client::Widget::feed_sdl_key_up_event ($SDL_EV); |
239 | Crossfire::Client::Widget::feed_sdl_key_up_event ($SDL_EV); |
240 | }, |
240 | }, |
241 | SDL_MOUSEMOTION() => sub { |
241 | SDL_MOUSEMOTION() => sub { |
242 | my ($x, $y) = ($SDL_EV->motion_x, $SDL_EV->motion_y); |
242 | my ($x, $y) = ($SDL_EV->motion_x, $SDL_EV->motion_y); |
243 | $HOVER = $TOPLEVEL->find_widget ($x, $y); |
243 | $HOVER = $GRAB || $TOPLEVEL->find_widget ($x, $y); |
244 | ::refresh; |
244 | ::refresh; |
245 | |
|
|
246 | warn "mouse $x, $y = $HOVER\n"; |
|
|
247 | }, |
245 | }, |
248 | SDL_MOUSEBUTTONDOWN() => sub { |
246 | SDL_MOUSEBUTTONDOWN() => sub { |
249 | Crossfire::Client::Widget::feed_sdl_button_down_event ($SDL_EV); |
247 | Crossfire::Client::Widget::feed_sdl_button_down_event ($SDL_EV); |
250 | }, |
248 | }, |
251 | SDL_MOUSEBUTTONUP() => sub { |
249 | SDL_MOUSEBUTTONUP() => sub { |