SDL::Event.3pm

Langue: en

Version: 2003-03-21 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

SDL::Event - a SDL perl extension

SYNOPSIS

  use SDL::Event;
  my $event = new SDL::Event;             # create a new event
  while ($event->wait()) {
         my $type = $event->type();      # get event type
         # ... handle event
         exit if $type == SDL_QUIT;
  }
 
 

EXPORTS

        SDL_IGNORE              SDL_ENABLE
        SDL_QUERY               SDL_ACTIVEEVENT
        SDL_KEYDOWN             SDL_KEYUP
        SDL_MOUSEMOTION         SDL_MOUSEBUTTONDOWN
        SDL_MOUSEBUTTONUP       SDL_QUIT
        SDL_SYSWMEVENT          SDL_APPMOUSEFOCUS
        SDL_APPINPUTFOCUS       SDL_APPACTIVE
        SDL_PRESSED             SDL_RELEASED
        SDL_VIDEORESIZE         
 
        SDLK_BACKSPACE          SDLK_TAB
        SDLK_CLEAR              SDLK_RETURN
        SDLK_PAUSE              SDLK_ESCAPE
        SDLK_SPACE              SDLK_EXCLAIM
        SDLK_QUOTEDBL           SDLK_HASH
        SDLK_DOLLAR             SDLK_AMPERSAND
        SDLK_QUOTE              SDLK_LEFTPAREN
        SDLK_RIGHTPAREN         SDLK_ASTERISK
        SDLK_PLUS               SDLK_COMMA
        SDLK_MINUS              SDLK_PERIOD
        SDLK_SLASH              SDLK_0
        SDLK_1                  SDLK_2
        SDLK_3                  SDLK_4
        SDLK_5                  SDLK_6
        SDLK_7                  SDLK_8
        SDLK_9                  SDLK_COLON
        SDLK_SEMICOLON          SDLK_LESS
        SDLK_EQUALS             SDLK_GREATER
        SDLK_QUESTION           SDLK_AT
        SDLK_LEFTBRACKET        SDLK_BACKSLASH
        SDLK_RIGHTBRACKET       SDLK_CARET
        SDLK_UNDERSCORE         SDLK_BACKQUOTE
 
        SDLK_a                  SDLK_b
        SDLK_c                  SDLK_d
        SDLK_e                  SDLK_f
        SDLK_g                  SDLK_h
        SDLK_i                  SDLK_j
        SDLK_k                  SDLK_l
        SDLK_m                  SDLK_n
        SDLK_o                  SDLK_p
        SDLK_q                  SDLK_r
        SDLK_s                  SDLK_t
        SDLK_u                  SDLK_v
        SDLK_w                  SDLK_x
        SDLK_y                  SDLK_z
        SDLK_DELETE             SDLK_KP0
        SDLK_KP1                SDLK_KP2
        SDLK_KP3                SDLK_KP4
        SDLK_KP5                SDLK_KP6
        SDLK_KP7                SDLK_KP8
        SDLK_KP9                SDLK_KP_PERIOD
        SDLK_KP_DIVIDE          SDLK_KP_MULTIPLY
        SDLK_KP_MINUS           SDLK_KP_PLUS
        SDLK_KP_ENTER           SDLK_KP_EQUALS
        SDLK_UP                 SDLK_DOWN
        SDLK_RIGHT              SDLK_LEFT
        SDLK_INSERT             SDLK_HOME
        SDLK_END                SDLK_PAGEUP
 
        SDLK_PAGEDOWN           SDLK_F1
        SDLK_F2                 SDLK_F3
        SDLK_F4                 SDLK_F5
        SDLK_F6                 SDLK_F7
        SDLK_F8                 SDLK_F9
        SDLK_F10                SDLK_F11
        SDLK_F12                SDLK_F13
        SDLK_F14                SDLK_F15
        SDLK_NUMLOCK            SDLK_CAPSLOCK
        SDLK_SCROLLOCK          SDLK_RSHIFT
        SDLK_LSHIFT             SDLK_RCTRL
        SDLK_LCTRL              SDLK_RALT
        SDLK_LALT               SDLK_RMETA
        SDLK_LMETA
 
 

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 type and state of the event.

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, "SDL::PRESSED", "SDL_RELEASED".

button_x()

Returns the x position within the application window that the button was activated in

button_y()

Returns the y position within the application window that the button was activated in

button()

Returns the numeric id of the button pushed.
1.
left
2.
middle
3.
right

resize_w()

Returns the width of the resized window.

resize_h()

Returns the height of the resized window.

AUTHOR

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

SEE ALSO

perl SDL::App