Wiki Page Content

Differences between revisions 26 and 27
Revision 26 as of 2013-07-29 16:46:32
Size: 6643
Editor: RyanGordon
Comment: Lots of work on SDL_EventType
Revision 27 as of 2013-07-29 17:20:09
Size: 6653
Editor: RyanGordon
Comment: Fixed typos
Deletions are marked like this. Additions are marked like this.
Line 25: Line 25:
||[[SDL_KeyEvent|SDL_KEYDOWN]]||key pressed||
||[[SDL_KeyEvent|SDL_KEYUP]]||key released||
||[[SDL_KeyboardEvent|SDL_KEYDOWN]]||key pressed||
||[[SDL_KeyboardEvent|SDL_KEYUP]]||key released||

DRAFT

SDL_EventType

An enumeration of the types of events that can be delivered.

Values

SDL_FIRSTEVENT

do not remove (unused)

Application events

SDL_QUIT

user-requested quit; see Remarks for details

Android and iOS events; see Remarks for details

SDL_APP_TERMINATING

SDL_APP_LOWMEMORY

SDL_APP_WILLENTERBACKGROUND

SDL_APP_DIDENTERBACKGROUND

SDL_APP_WILLENTERFOREGROUND

SDL_APP_DIDENTERFOREGROUND

Window events

SDL_WINDOWEVENT

window state change

SDL_SYSWMEVENT

system specific event

Keyboard events

SDL_KEYDOWN

key pressed

SDL_KEYUP

key released

SDL_TEXTEDITING

keyboard text editing (composition)

SDL_TEXTINPUT

keyboard text input

Mouse events

SDL_MOUSEMOTION

mouse moved

SDL_MOUSEBUTTONDOWN

mouse button pressed

SDL_MOUSEBUTTONUP

mouse button released

SDL_MOUSEWHEEL

mouse wheel motion

Joystick events

SDL_JOYAXISMOTION

joystick axis motion

SDL_JOYBALLMOTION

joystick trackball motion

SDL_JOYHATMOTION

joystick hat position change

SDL_JOYBUTTONDOWN

joystick button pressed

SDL_JOYBUTTONUP

joystick button released

SDL_JOYDEVICEADDED

joystick connected

SDL_JOYDEVICEREMOVED

joystick disconnected

Controller events

SDL_CONTROLLERAXISMOTION

controller axis motion

SDL_CONTROLLERBUTTONDOWN

controller button pressed

SDL_CONTROLLERBUTTONUP

controller button released

SDL_CONTROLLERDEVICEADDED

controller connected

SDL_CONTROLLERDEVICEREMOVED

controller disconnected

SDL_CONTROLLERDEVICEREMAPPED

controller mapping updated

Touch events

SDL_FINGERDOWN

SDL_FINGERUP

SDL_FINGERMOTION

Gesture events

SDL_DOLLARGESTURE

SDL_DOLLARRECORD

SDL_MULTIGESTURE

Clipboard events

SDL_CLIPBOARDUPDATE

the clipboard changed

Drag and drop events

SDL_DROPFILE

the system requests a file open

These are for your use, and should be allocated with SDL_RegisterEvents()

SDL_USEREVENT

a user-specified event

SDL_LASTEVENT

only for bounding internal arrays

Code Examples

You can add your code example here

Remarks

Application Events

An SDL_QUIT event is generated when the user tries to close the last remaining SDL_Window. If it is ignored or filtered out, the window will remain open. If it is not ignored or filtered, it is queued normally and the window is allowed to close. When the window is closed, screen updates will complete, but have no effect.

On Mac OS X, pressing Command-Q (the standard keyboard shortcut for "Quit this application") will cause SDL to generate an SDL_QUIT event. The application is still responsible for terminating itself, however.

SDL_Init() installs signal handlers for SIGINT (keyboard interrupt) and SIGTERM (system termination request), if handlers do not already exist, that generate SDL_QUIT events as well. There is no way to determine the cause of an SDL_QUIT event, but setting a signal handler in your application will override the default generation of quit events for that signal.

Android and iOS Events

What we currently label as "Android and iOS events" are specific to mobile and embedded devices that have different requirements than your usual desktop application. These events must be handled in an event filter, since often the OS needs an immediate response and will terminate your process shortly after sending the event, and if it sits in the SDL event queue, it'll be too late. You can handle everything else through a normal SDL_PollEvent() loop, but you should set up a callback with [[SDL_SetEventFilter|SDL_SetEventFilter()] for these specific events.

This is how these events currently map to the underlying OS:

SDL event

What

iOS

Android

SDL_APP_TERMINATING

The application is being terminated by the OS.

applicationWillTerminate()

onDestroy()

SDL_APP_LOWMEMORY

The application is low on memory, free memory if possible.

applicationDidReceiveMemoryWarning()

onLowMemory()

SDL_APP_WILLENTERBACKGROUND

The application is about to enter the background.

applicationWillResignActive()

onPause()

SDL_APP_DIDENTERBACKGROUND

The application did enter the background and may not get CPU for some time.

applicationDidEnterBackground()

onPause()

SDL_APP_WILLENTERFOREGROUND

The application is about to enter the foreground.

applicationWillEnterForeground()

onResume()

SDL_APP_DIDENTERFOREGROUND

The application is now interactive.

applicationDidBecomeActive()

onResume()


CategoryEnum, CategoryEvents

None: SDL_EventType (last edited 2016-10-13 20:32:06 by PhilippWiesemann)

(Page Info.)
Feedback
Please include your contact information if you'd like to receive a reply.
Submit