NAME
SDL::Event - a SDL perl extension
SYNOPSIS
use SDL::Event;
my $event = new SDL::Event; # create a new event
$event->pump(); # pump all events from SDL Event Queue
$event->poll(); # Get the top one from the queue
while ($event->wait()) {
my $type = $event->type(); # get event type
# ... handle event
exit if $type == SDL_QUIT;
}
DESCRIPTION
SDL::Event
offers an object-oriented approach to SDL events. By creating an instance of SDL::Event via new() you can wait for events, and then determine the type of the event and take an appropriate action.
EXAMPLE
Here is an example of a simple event handler loop routine. See also SDL::App::loop.
sub loop {
my ($self,$href) = @_;
my $event = new SDL::Event;
while ( $event->wait() ) {
# ... insert here your event handling like:
if ( ref($$href{$event->type()}) eq "CODE" ) {
&{$$href{$event->type()}}($event);
$self->sync();
}
}
}
METHODS
new()
Create a new event object.
type()
Returns the type of the event, see list of exported symbols for which are available.
pump()
poll()
wait()
Waits for an event end returns then. Always returns true.
set( type, state )
Set the state for all events of the given event's type
set_unicode( toggle )
Toggle unicode on the event.
set_key_repeat( delay, interval)
Sets the delay and intervall of the key repeat rate (e.g. when a user holds down a key on the keyboard).
active_gain()
active_state()
key_state()
key_sym()
key_name()
key_mod()
key_unicode()
key_scancode()
motion_state()
motion_x()
Returns the motion of the mouse in X direction as an absolute value.
motion_y()
Returns the motion of the mouse in Y direction as an absolute value.
motion_xrel()
Returns the motion of the mouse in X direction as a relative value.
motion_yrel()
Returns the motion of the mouse in Y direction as a relative value.
button_state()
Returns the state of the mouse buttons.
button_x()
button_y()
button()
AUTHOR
David J. Goehrig Documentation by Tels <http://bloodgate.com/>