SDL Library
SDL_events.h File Reference
Include file for SDL event handling. More...
Go to the source code of this file.
Data Structures | |
struct | SDL_CommonEvent |
Fields shared by every event. More... | |
struct | SDL_WindowEvent |
Window state change event data (event.window. More... | |
struct | SDL_KeyboardEvent |
Keyboard button event structure (event.key. More... | |
struct | SDL_TextEditingEvent |
Keyboard text editing event structure (event.edit. More... | |
struct | SDL_TextInputEvent |
Keyboard text input event structure (event.text. More... | |
struct | SDL_MouseMotionEvent |
Mouse motion event structure (event.motion. More... | |
struct | SDL_MouseButtonEvent |
Mouse button event structure (event.button. More... | |
struct | SDL_MouseWheelEvent |
Mouse wheel event structure (event.wheel. More... | |
struct | SDL_JoyAxisEvent |
Joystick axis motion event structure (event.jaxis. More... | |
struct | SDL_JoyBallEvent |
Joystick trackball motion event structure (event.jball. More... | |
struct | SDL_JoyHatEvent |
Joystick hat position change event structure (event.jhat. More... | |
struct | SDL_JoyButtonEvent |
Joystick button event structure (event.jbutton. More... | |
struct | SDL_JoyDeviceEvent |
Joystick device event structure (event.jdevice. More... | |
struct | SDL_ControllerAxisEvent |
Game controller axis motion event structure (event.caxis. More... | |
struct | SDL_ControllerButtonEvent |
Game controller button event structure (event.cbutton. More... | |
struct | SDL_ControllerDeviceEvent |
Controller device event structure (event.cdevice. More... | |
struct | SDL_TouchFingerEvent |
Touch finger event structure (event.tfinger. More... | |
struct | SDL_MultiGestureEvent |
Multiple Finger Gesture Event (event.mgesture. More... | |
struct | SDL_DollarGestureEvent |
Dollar Gesture Event (event.dgesture. More... | |
struct | SDL_DropEvent |
An event used to request a file open by the system (event.drop. More... | |
struct | SDL_QuitEvent |
The "quit requested" event. More... | |
struct | SDL_OSEvent |
OS Specific event. More... | |
struct | SDL_UserEvent |
A user-defined event type (event.user. More... | |
struct | SDL_SysWMEvent |
A video driver dependent system event (event.syswm. More... | |
union | SDL_Event |
General event structure. More... | |
Typedefs | |
typedef struct SDL_CommonEvent | SDL_CommonEvent |
Fields shared by every event. | |
typedef struct SDL_WindowEvent | SDL_WindowEvent |
Window state change event data (event.window. | |
typedef struct SDL_KeyboardEvent | SDL_KeyboardEvent |
Keyboard button event structure (event.key. | |
typedef struct SDL_TextEditingEvent | SDL_TextEditingEvent |
Keyboard text editing event structure (event.edit. | |
typedef struct SDL_TextInputEvent | SDL_TextInputEvent |
Keyboard text input event structure (event.text. | |
typedef struct SDL_MouseMotionEvent | SDL_MouseMotionEvent |
Mouse motion event structure (event.motion. | |
typedef struct SDL_MouseButtonEvent | SDL_MouseButtonEvent |
Mouse button event structure (event.button. | |
typedef struct SDL_MouseWheelEvent | SDL_MouseWheelEvent |
Mouse wheel event structure (event.wheel. | |
typedef struct SDL_JoyAxisEvent | SDL_JoyAxisEvent |
Joystick axis motion event structure (event.jaxis. | |
typedef struct SDL_JoyBallEvent | SDL_JoyBallEvent |
Joystick trackball motion event structure (event.jball. | |
typedef struct SDL_JoyHatEvent | SDL_JoyHatEvent |
Joystick hat position change event structure (event.jhat. | |
typedef struct SDL_JoyButtonEvent | SDL_JoyButtonEvent |
Joystick button event structure (event.jbutton. | |
typedef struct SDL_JoyDeviceEvent | SDL_JoyDeviceEvent |
Joystick device event structure (event.jdevice. | |
typedef struct SDL_ControllerAxisEvent | SDL_ControllerAxisEvent |
Game controller axis motion event structure (event.caxis. | |
typedef struct SDL_ControllerButtonEvent | SDL_ControllerButtonEvent |
Game controller button event structure (event.cbutton. | |
typedef struct SDL_ControllerDeviceEvent | SDL_ControllerDeviceEvent |
Controller device event structure (event.cdevice. | |
typedef struct SDL_TouchFingerEvent | SDL_TouchFingerEvent |
Touch finger event structure (event.tfinger. | |
typedef struct SDL_MultiGestureEvent | SDL_MultiGestureEvent |
Multiple Finger Gesture Event (event.mgesture. | |
typedef struct SDL_DollarGestureEvent | SDL_DollarGestureEvent |
Dollar Gesture Event (event.dgesture. | |
typedef struct SDL_DropEvent | SDL_DropEvent |
An event used to request a file open by the system (event.drop. | |
typedef struct SDL_QuitEvent | SDL_QuitEvent |
The "quit requested" event. | |
typedef struct SDL_OSEvent | SDL_OSEvent |
OS Specific event. | |
typedef struct SDL_UserEvent | SDL_UserEvent |
A user-defined event type (event.user. | |
typedef struct SDL_SysWMEvent | SDL_SysWMEvent |
A video driver dependent system event (event.syswm. | |
typedef union SDL_Event | SDL_Event |
General event structure. | |
Enumerations | |
enum | SDL_EventType { SDL_FIRSTEVENT = 0, SDL_QUIT = 0x100, SDL_APP_TERMINATING, SDL_APP_LOWMEMORY, SDL_APP_WILLENTERBACKGROUND, SDL_APP_DIDENTERBACKGROUND, SDL_APP_WILLENTERFOREGROUND, SDL_APP_DIDENTERFOREGROUND, SDL_WINDOWEVENT = 0x200, SDL_SYSWMEVENT, SDL_KEYDOWN = 0x300, SDL_KEYUP, SDL_TEXTEDITING, SDL_TEXTINPUT, SDL_MOUSEMOTION = 0x400, SDL_MOUSEBUTTONDOWN, SDL_MOUSEBUTTONUP, SDL_MOUSEWHEEL, SDL_JOYAXISMOTION = 0x600, SDL_JOYBALLMOTION, SDL_JOYHATMOTION, SDL_JOYBUTTONDOWN, SDL_JOYBUTTONUP, SDL_JOYDEVICEADDED, SDL_JOYDEVICEREMOVED, SDL_CONTROLLERAXISMOTION = 0x650, SDL_CONTROLLERBUTTONDOWN, SDL_CONTROLLERBUTTONUP, SDL_CONTROLLERDEVICEADDED, SDL_CONTROLLERDEVICEREMOVED, SDL_CONTROLLERDEVICEREMAPPED , SDL_CLIPBOARDUPDATE = 0x900, SDL_DROPFILE = 0x1000, SDL_RENDER_TARGETS_RESET = 0x2000, SDL_USEREVENT = 0x8000, SDL_LASTEVENT = 0xFFFF } |
The types of events that can be delivered. More... | |
Functions | |
DECLSPEC void SDLCALL | SDL_PumpEvents (void) |
Pumps the event loop, gathering events from the input devices. | |
DECLSPEC SDL_bool SDLCALL | SDL_HasEvent (Uint32 type) |
Checks to see if certain event types are in the event queue. | |
DECLSPEC void SDLCALL | SDL_FlushEvent (Uint32 type) |
This function clears events from the event queue. | |
DECLSPEC int SDLCALL | SDL_PollEvent (SDL_Event *event) |
Polls for currently pending events. | |
DECLSPEC int SDLCALL | SDL_WaitEvent (SDL_Event *event) |
Waits indefinitely for the next available event. | |
DECLSPEC int SDLCALL | SDL_WaitEventTimeout (SDL_Event *event, int timeout) |
Waits until the specified timeout (in milliseconds) for the next available event. | |
DECLSPEC int SDLCALL | SDL_PushEvent (SDL_Event *event) |
Add an event to the event queue. | |
typedef | int (SDLCALL *SDL_EventFilter)(void *userdata |
The function passed to SDL_CreateThread(). | |
DECLSPEC void SDLCALL | SDL_SetEventFilter (SDL_EventFilter filter, void *userdata) |
Sets up a filter to process all events before they change internal state and are posted to the internal event queue. | |
DECLSPEC SDL_bool SDLCALL | SDL_GetEventFilter (SDL_EventFilter *filter, void **userdata) |
Return the current event filter - can be used to "chain" filters. | |
DECLSPEC void SDLCALL | SDL_AddEventWatch (SDL_EventFilter filter, void *userdata) |
Add a function which is called when an event is added to the queue. | |
DECLSPEC void SDLCALL | SDL_DelEventWatch (SDL_EventFilter filter, void *userdata) |
Remove an event watch function added with SDL_AddEventWatch() | |
DECLSPEC void SDLCALL | SDL_FilterEvents (SDL_EventFilter filter, void *userdata) |
Run the filter function on the current event queue, removing any events for which the filter returns 0. | |
DECLSPEC Uint32 SDLCALL | SDL_RegisterEvents (int numevents) |
This function allocates a set of user-defined events, and returns the beginning event number for that set of events. | |
DECLSPEC Uint8 SDLCALL | SDL_EventState (Uint32 type, int state) |
This function allows you to set the state of processing certain events. | |
DECLSPEC int SDLCALL | SDL_PeepEvents (SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType) |
Checks the event queue for messages and optionally returns them. |
Detailed Description
Include file for SDL event handling.
Definition in file SDL_events.h.
Typedef Documentation
typedef struct SDL_CommonEvent SDL_CommonEvent |
Fields shared by every event.
typedef struct SDL_ControllerAxisEvent SDL_ControllerAxisEvent |
Game controller axis motion event structure (event.caxis.
*)
typedef struct SDL_ControllerButtonEvent SDL_ControllerButtonEvent |
Game controller button event structure (event.cbutton.
*)
typedef struct SDL_ControllerDeviceEvent SDL_ControllerDeviceEvent |
Controller device event structure (event.cdevice.
*)
typedef struct SDL_DollarGestureEvent SDL_DollarGestureEvent |
Dollar Gesture Event (event.dgesture.
*)
typedef struct SDL_DropEvent SDL_DropEvent |
An event used to request a file open by the system (event.drop.
*) This event is disabled by default, you can enable it with SDL_EventState()
- Note:
- If you enable this event, you must free the filename in the event.
typedef struct SDL_JoyAxisEvent SDL_JoyAxisEvent |
Joystick axis motion event structure (event.jaxis.
*)
typedef struct SDL_JoyBallEvent SDL_JoyBallEvent |
Joystick trackball motion event structure (event.jball.
*)
typedef struct SDL_JoyButtonEvent SDL_JoyButtonEvent |
Joystick button event structure (event.jbutton.
*)
typedef struct SDL_JoyDeviceEvent SDL_JoyDeviceEvent |
Joystick device event structure (event.jdevice.
*)
typedef struct SDL_JoyHatEvent SDL_JoyHatEvent |
Joystick hat position change event structure (event.jhat.
*)
typedef struct SDL_KeyboardEvent SDL_KeyboardEvent |
Keyboard button event structure (event.key.
*)
typedef struct SDL_MouseButtonEvent SDL_MouseButtonEvent |
Mouse button event structure (event.button.
*)
typedef struct SDL_MouseMotionEvent SDL_MouseMotionEvent |
Mouse motion event structure (event.motion.
*)
typedef struct SDL_MouseWheelEvent SDL_MouseWheelEvent |
Mouse wheel event structure (event.wheel.
*)
typedef struct SDL_MultiGestureEvent SDL_MultiGestureEvent |
Multiple Finger Gesture Event (event.mgesture.
*)
typedef struct SDL_OSEvent SDL_OSEvent |
OS Specific event.
typedef struct SDL_QuitEvent SDL_QuitEvent |
The "quit requested" event.
typedef struct SDL_SysWMEvent SDL_SysWMEvent |
A video driver dependent system event (event.syswm.
*) This event is disabled by default, you can enable it with SDL_EventState()
- Note:
- If you want to use this event, you should include SDL_syswm.h.
typedef struct SDL_TextEditingEvent SDL_TextEditingEvent |
Keyboard text editing event structure (event.edit.
*)
typedef struct SDL_TextInputEvent SDL_TextInputEvent |
Keyboard text input event structure (event.text.
*)
typedef struct SDL_TouchFingerEvent SDL_TouchFingerEvent |
Touch finger event structure (event.tfinger.
*)
typedef struct SDL_UserEvent SDL_UserEvent |
A user-defined event type (event.user.
*)
typedef struct SDL_WindowEvent SDL_WindowEvent |
Window state change event data (event.window.
*)
Enumeration Type Documentation
enum SDL_EventType |
The types of events that can be delivered.
- Enumerator:
SDL_FIRSTEVENT Unused (do not remove)
SDL_QUIT User-requested quit.
SDL_APP_TERMINATING The application is being terminated by the OS Called on iOS in applicationWillTerminate() Called on Android in onDestroy()
SDL_APP_LOWMEMORY The application is low on memory, free memory if possible.
Called on iOS in applicationDidReceiveMemoryWarning() Called on Android in onLowMemory()
SDL_APP_WILLENTERBACKGROUND The application is about to enter the background Called on iOS in applicationWillResignActive() Called on Android in onPause()
SDL_APP_DIDENTERBACKGROUND The application did enter the background and may not get CPU for some time Called on iOS in applicationDidEnterBackground() Called on Android in onPause()
SDL_APP_WILLENTERFOREGROUND The application is about to enter the foreground Called on iOS in applicationWillEnterForeground() Called on Android in onResume()
SDL_APP_DIDENTERFOREGROUND The application is now interactive Called on iOS in applicationDidBecomeActive() Called on Android in onResume()
SDL_WINDOWEVENT Window state change.
SDL_SYSWMEVENT System specific event.
SDL_KEYDOWN Key pressed.
SDL_KEYUP Key released.
SDL_TEXTEDITING Keyboard text editing (composition)
SDL_TEXTINPUT Keyboard text input.
SDL_MOUSEMOTION Mouse moved.
SDL_MOUSEBUTTONDOWN Mouse button pressed.
SDL_MOUSEBUTTONUP Mouse button released.
SDL_MOUSEWHEEL Mouse wheel motion.
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 A new joystick has been inserted into the system.
SDL_JOYDEVICEREMOVED An opened joystick has been removed.
SDL_CONTROLLERAXISMOTION Game controller axis motion.
SDL_CONTROLLERBUTTONDOWN Game controller button pressed.
SDL_CONTROLLERBUTTONUP Game controller button released.
SDL_CONTROLLERDEVICEADDED A new Game controller has been inserted into the system.
SDL_CONTROLLERDEVICEREMOVED An opened Game controller has been removed.
SDL_CONTROLLERDEVICEREMAPPED The controller mapping was updated.
SDL_CLIPBOARDUPDATE The clipboard changed.
SDL_DROPFILE The system requests a file open.
SDL_RENDER_TARGETS_RESET The render targets have been reset.
SDL_USEREVENT Events SDL_USEREVENT through SDL_LASTEVENT are for your use, and should be allocated with SDL_RegisterEvents()
SDL_LASTEVENT This last event is only for bounding internal arrays.
Definition at line 55 of file SDL_events.h.
Function Documentation
typedef int | ( | SDLCALL * | SDL_ThreadFunction ) |
The function passed to SDL_CreateThread().
It is passed a void* user context parameter and returns an int.
DECLSPEC void SDLCALL SDL_AddEventWatch | ( | SDL_EventFilter | filter, |
void * | userdata | ||
) |
Add a function which is called when an event is added to the queue.
DECLSPEC void SDLCALL SDL_DelEventWatch | ( | SDL_EventFilter | filter, |
void * | userdata | ||
) |
Remove an event watch function added with SDL_AddEventWatch()
This function allows you to set the state of processing certain events.
- If
state
is set to SDL_IGNORE, that event will be automatically dropped from the event queue and will not event be filtered. - If
state
is set to SDL_ENABLE, that event will be processed normally. - If
state
is set to SDL_QUERY, SDL_EventState() will return the current processing state of the specified event.
DECLSPEC void SDLCALL SDL_FilterEvents | ( | SDL_EventFilter | filter, |
void * | userdata | ||
) |
Run the filter function on the current event queue, removing any events for which the filter returns 0.
DECLSPEC void SDLCALL SDL_FlushEvent | ( | Uint32 | type ) |
This function clears events from the event queue.
DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter | ( | SDL_EventFilter * | filter, |
void ** | userdata | ||
) |
Return the current event filter - can be used to "chain" filters.
If there is no event filter set, this function returns SDL_FALSE.
DECLSPEC SDL_bool SDLCALL SDL_HasEvent | ( | Uint32 | type ) |
Checks to see if certain event types are in the event queue.
DECLSPEC int SDLCALL SDL_PeepEvents | ( | SDL_Event * | events, |
int | numevents, | ||
SDL_eventaction | action, | ||
Uint32 | minType, | ||
Uint32 | maxType | ||
) |
Checks the event queue for messages and optionally returns them.
If action
is SDL_ADDEVENT, up to numevents
events will be added to the back of the event queue.
If action
is SDL_PEEKEVENT, up to numevents
events at the front of the event queue, within the specified minimum and maximum type, will be returned and will not be removed from the queue.
If action
is SDL_GETEVENT, up to numevents
events at the front of the event queue, within the specified minimum and maximum type, will be returned and will be removed from the queue.
- Returns:
- The number of events actually stored, or -1 if there was an error.
This function is thread-safe.
DECLSPEC int SDLCALL SDL_PollEvent | ( | SDL_Event * | event ) |
Polls for currently pending events.
- Returns:
- 1 if there are any pending events, or 0 if there are none available.
- Parameters:
-
event If not NULL, the next event is removed from the queue and stored in that area.
DECLSPEC void SDLCALL SDL_PumpEvents | ( | void | ) |
Pumps the event loop, gathering events from the input devices.
This function updates the event queue and internal input device state.
This should only be run in the thread that sets the video mode.
DECLSPEC int SDLCALL SDL_PushEvent | ( | SDL_Event * | event ) |
Add an event to the event queue.
- Returns:
- 1 on success, 0 if the event was filtered, or -1 if the event queue was full or there was some other error.
DECLSPEC Uint32 SDLCALL SDL_RegisterEvents | ( | int | numevents ) |
This function allocates a set of user-defined events, and returns the beginning event number for that set of events.
If there aren't enough user-defined events left, this function returns (Uint32)-1
DECLSPEC void SDLCALL SDL_SetEventFilter | ( | SDL_EventFilter | filter, |
void * | userdata | ||
) |
Sets up a filter to process all events before they change internal state and are posted to the internal event queue.
The filter is prototyped as:
If the filter returns 1, then the event will be added to the internal queue. If it returns 0, then the event will be dropped from the queue, but the internal state will still be updated. This allows selective filtering of dynamically arriving events.
- Warning:
- Be very careful of what you do in the event filter function, as it may run in a different thread!
There is one caveat when dealing with the SDL_QuitEvent event type. The event filter is only called when the window manager desires to close the application window. If the event filter returns 1, then the window will be closed, otherwise the window will remain open if possible.
If the quit event is generated by an interrupt signal, it will bypass the internal queue and be delivered to the application at the next event poll.
DECLSPEC int SDLCALL SDL_WaitEvent | ( | SDL_Event * | event ) |
Waits indefinitely for the next available event.
- Returns:
- 1, or 0 if there was an error while waiting for events.
- Parameters:
-
event If not NULL, the next event is removed from the queue and stored in that area.
DECLSPEC int SDLCALL SDL_WaitEventTimeout | ( | SDL_Event * | event, |
int | timeout | ||
) |
Waits until the specified timeout (in milliseconds) for the next available event.
- Returns:
- 1, or 0 if there was an error while waiting for events.
- Parameters:
-
event If not NULL, the next event is removed from the queue and stored in that area. timeout The timeout (in milliseconds) to wait for next event.
Generated on Tue Jul 12 2022 15:10:21 by 1.7.2