X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pages%2FSDL-Events.html-inc;h=74e0c4148cb35e41d82c3d5c8badb283831face3;hb=5ce48b7ebb54cf63bf5fb7ffb7d5f9213f8d45a9;hp=1bedb74b6b06d4101a80fe5ecd045715a9598450;hpb=b0e2356c9c3a2e11538ba77b8ff325f0f9e09b4b;p=sdlgit%2FSDL-Site.git diff --git a/pages/SDL-Events.html-inc b/pages/SDL-Events.html-inc index 1bedb74..74e0c41 100644 --- a/pages/SDL-Events.html-inc +++ b/pages/SDL-Events.html-inc @@ -7,7 +7,7 @@
Most likely you just want to know how to get events for you app.
-use SDL; +use SDL ':init'; use SDL::Event; - use SDL::Events; + use SDL::Events ':all'; SDL::init(SDL_INIT_VIDEO); # Event can only be grabbed in the same thread as this @@ -91,12 +91,171 @@
The constants are exported by default. You can avoid this by doing:
+use SDL::Events (); ++
and access them directly:
+SDL::Events::SDL_ACTIVEEVENT; + ++
or by choosing the export tags below:
+Export tag: ':type'
+SDL_ACTIVEEVENT + SDL_KEYDOWN + SDL_KEYUP + SDL_MOUSEMOTION + SDL_MOUSEBUTTONDOWN + SDL_MOUSEBUTTONUP + SDL_JOYAXISMOTION + SDL_JOYBALLMOTION + SDL_JOYHATMOTION + SDL_JOYBUTTONDOWN + SDL_JOYBUTTONUP + SDL_QUIT + SDL_SYSWMEVENT + SDL_VIDEORESIZE + SDL_VIDEOEXPOSE + SDL_USEREVENT + SDL_NUMEVENTS + ++
Export tag: ':mask'
+SDL_EVENTMASK + SDL_ACTIVEEVENTMASK + SDL_KEYDOWNMASK + SDL_KEYUPMASK + SDL_KEYEVENTMASK + SDL_MOUSEMOTIONMASK + SDL_MOUSEBUTTONDOWNMASK + SDL_MOUSEBUTTONUPMASK + SDL_MOUSEEVENTMASK + SDL_JOYAXISMOTIONMASK + SDL_JOYBALLMOTIONMASK + SDL_JOYHATMOTIONMASK + SDL_JOYBUTTONDOWNMASK + SDL_JOYBUTTONUPMASK + SDL_JOYEVENTMASK + SDL_VIDEORESIZEMASK + SDL_VIDEOEXPOSEMASK + SDL_QUITMASK + SDL_SYSWMEVENTMASK + SDL_ALLEVENTS + ++
Export tag: ':action'
+SDL_ADDEVENT + SDL_PEEKEVENT + SDL_GETEVENT + ++
Export tag: ':state'
+SDL_QUERY + SDL_IGNORE + SDL_DISABLE / SDL_ENABLE + SDL_RELEASED / SDL_PRESSED ++
Export tag: ':hat'
+SDL_HAT_CENTERED + SDL_HAT_UP / SDL_HAT_RIGHT / SDL_HAT_DOWN / SDL_HAT_LEFT + SDL_HAT_RIGHTUP / SDL_HAT_RIGHTDOWN / SDL_HAT_LEFTUP / SDL_HAT_LEFTDOWN ++
Export tag: ':app'
+SDL_APPMOUSEFOCUS + SDL_APPINPUTFOCUS + SDL_APPACTIVE ++
Export tag: ':button'
+SDL_BUTTON + SDL_BUTTON_LEFT / SDL_BUTTON_MIDDLE / SDL_BUTTON_RIGHT + SDL_BUTTON_WHEELUP / SDL_BUTTON_WHEELDOWN + SDL_BUTTON_X1 / SDL_BUTTON_X2 + SDL_BUTTON_LMASK / SDL_BUTTON_MMASK / SDL_BUTTON_RMASK + SDL_BUTTON_X1MASK / SDL_BUTTON_X2MASK + ++
Export tag: ':keysym'
+SDLK_UNKNOWN + SDLK_FIRST + 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_MINUS + SDLK_COMMA + SDLK_PERIOD + SDLK_0 .. SDLK_9 + SDLK_COLON + SDLK_SEMICOLON + SDLK_LESS / SDLK_GREATER + SDLK_EQUALS + SDLK_QUESTION + SDLK_AT + SDLK_LEFTBRACKET / SDLK_RIGHTBRACKET + SDLK_SLASH / SDLK_BACKSLASH + SDLK_CARET + SDLK_UNDERSCORE + SDLK_BACKQUOTE + SDLK_a .. SDLK_z + SDLK_DELETE + SDLK_WORLD_0 .. SDLK_WORLD_95 + SDLK_KP0 .. 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_F15 + SDLK_NUMLOCK / SDLK_CAPSLOCK / SDLK_SCROLLOCK + SDLK_RSHIFT / SDLK_LSHIFT + SDLK_RCTRL / SDLK_LCTRL + SDLK_RALT / SDLK_LALT + SDLK_RMETA / SDLK_LMETA + SDLK_LSUPER / SDLK_RSUPER + SDLK_MODE + SDLK_COMPOSE + SDLK_HELP + SDLK_PRINT + SDLK_SYSREQ + SDLK_BREAK + SDLK_MENU + SDLK_POWER + SDLK_EURO + SDLK_UNDO + ++
Export tag ':keymod'
+KMOD_NONE + KMOD_LSHIFT / KMOD_RSHIFT / KMOD_SHIFT + KMOD_LCTRL / KMOD_RCTRL / KMOD_CTRL + KMOD_LALT / KMOD_RALT / KMOD_ALT + KMOD_LMETA / KMOD_RMETA / KMOD_META + KMOD_NUM + KMOD_CAPS + KMOD_MODE + KMOD_RESERVED + +
to filter the event return a 0, to pass the filter return a 1.
-One Caveat is if you are filterign SDL_QUITEVENT the event will be filtered if it is non-intterupt call ( Window closes normally ). If it is a interrupt SDL_QUITEVENT it will be process on the next event poll.
+One Caveat is if you are filtering SDL_QUIT the event will be filtered if it is non-intterupt call ( Window closes normally ). If it is a interrupt SDL_QUIT it will be process on the next event poll.
Events pushed onto to the queue with SDL::Events::push_events or SDL::Events::peep_events do not get filtered.
This callback may run in a different thread.