SDL::Event - a SDL perl extension


Back to Top


NAME

SDL::Event - a SDL perl extension

Back to Top


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;
 }
 
=head1 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.

Back to Top


EXAMPLE

Here is an example of a simple event handler loop routine. See also the SDL::App::loop manpage.

       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();
                       }
               }
       }

Back to Top


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()

Back to Top


AUTHOR

David J. Goehrig Documentation by Tels <http://bloodgate.com/>

Back to Top


SEE ALSO

perl the SDL::App manpage

Back to Top

 SDL::Event - a SDL perl extension