--- deliantra/Deliantra-Client/DC/UI.pm 2006/04/09 22:21:02 1.46 +++ deliantra/Deliantra-Client/DC/UI.pm 2006/04/09 22:26:51 1.49 @@ -9,11 +9,9 @@ use Crossfire::Client; -our $FOCUS; # the widget with current focus - # class methods for events -sub feed_sdl_key_down_event { $FOCUS->key_down ($_[0]) if $FOCUS } -sub feed_sdl_key_up_event { $FOCUS->key_up ($_[0]) if $FOCUS } +sub feed_sdl_key_down_event { $::FOCUS->key_down ($_[0]) if $::FOCUS } +sub feed_sdl_key_up_event { $::FOCUS->key_up ($_[0]) if $::FOCUS } sub feed_sdl_button_down_event { } sub feed_sdl_button_up_event { } @@ -48,7 +46,7 @@ sub focus_in { my ($widget) = @_; - $FOCUS = $widget; + $::FOCUS = $widget; } sub focus_out { @@ -83,6 +81,15 @@ glPushMatrix; glTranslate $self->{x}, $self->{y}, 0; $self->_draw; + if ($self == $::HOVER) { + glColor 1, 1, 1, 0.4; + glBegin GL_QUADS; + glVertex 0, 0; + glVertex $self->{w} - 1, 0; + glVertex $self->{w} - 1, $self->{h} - 1; + glVertex 0, $self->{h} - 1; + glEnd; + } glPopMatrix; }