SDL
2.0
|
#include "SDL_stdinc.h"
#include "SDL_error.h"
#include "SDL_video.h"
#include "SDL_keyboard.h"
#include "SDL_mouse.h"
#include "SDL_joystick.h"
#include "SDL_gamecontroller.h"
#include "SDL_quit.h"
#include "SDL_gesture.h"
#include "SDL_touch.h"
#include "begin_code.h"
#include "close_code.h"
Go to the source code of this file.
Data Structures | |
struct | SDL_CommonEvent |
Fields shared by every event. More... | |
struct | SDL_DisplayEvent |
Display state change event data (event.display.*) 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_ControllerTouchpadEvent |
Game controller touchpad event structure (event.ctouchpad.*) More... | |
struct | SDL_ControllerSensorEvent |
Game controller sensor event structure (event.csensor.*) More... | |
struct | SDL_AudioDeviceEvent |
Audio device event structure (event.adevice.*) 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.*) This event is enabled by default, you can disable it with SDL_EventState(). More... | |
struct | SDL_SensorEvent |
Sensor event structure (event.sensor.*) 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.*) This event is disabled by default, you can enable it with SDL_EventState() More... | |
union | SDL_Event |
General event structure. More... | |
Macros | |
#define | SDL_RELEASED 0 |
#define | SDL_PRESSED 1 |
#define | SDL_TEXTEDITINGEVENT_TEXT_SIZE (32) |
#define | SDL_TEXTINPUTEVENT_TEXT_SIZE (32) |
#define | SDL_QUERY -1 |
#define | SDL_IGNORE 0 |
#define | SDL_DISABLE 0 |
#define | SDL_ENABLE 1 |
#define | SDL_GetEventState(type) SDL_EventState(type, SDL_QUERY) |
Typedefs | |
typedef int(* | SDL_EventFilter) (void *userdata, SDL_Event *event) |
Functions | |
SDL_COMPILE_TIME_ASSERT (SDL_Event, sizeof(SDL_Event)==56) | |
void | SDL_PumpEvents (void) |
int | SDL_PeepEvents (SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType) |
SDL_bool | SDL_HasEvent (Uint32 type) |
SDL_bool | SDL_HasEvents (Uint32 minType, Uint32 maxType) |
void | SDL_FlushEvent (Uint32 type) |
void | SDL_FlushEvents (Uint32 minType, Uint32 maxType) |
int | SDL_PollEvent (SDL_Event *event) |
Polls for currently pending events. More... | |
int | SDL_WaitEvent (SDL_Event *event) |
Waits indefinitely for the next available event. More... | |
int | SDL_WaitEventTimeout (SDL_Event *event, int timeout) |
Waits until the specified timeout (in milliseconds) for the next available event. More... | |
int | SDL_PushEvent (SDL_Event *event) |
Add an event to the event queue. More... | |
void | SDL_SetEventFilter (SDL_EventFilter filter, void *userdata) |
SDL_bool | SDL_GetEventFilter (SDL_EventFilter *filter, void **userdata) |
void | SDL_AddEventWatch (SDL_EventFilter filter, void *userdata) |
void | SDL_DelEventWatch (SDL_EventFilter filter, void *userdata) |
void | SDL_FilterEvents (SDL_EventFilter filter, void *userdata) |
Uint8 | SDL_EventState (Uint32 type, int state) |
Uint32 | SDL_RegisterEvents (int numevents) |
Include file for SDL event handling.
Definition in file SDL_events.h.
#define SDL_DISABLE 0 |
Definition at line 794 of file SDL_events.h.
#define SDL_ENABLE 1 |
Definition at line 795 of file SDL_events.h.
#define SDL_GetEventState | ( | type | ) | SDL_EventState(type, SDL_QUERY) |
Definition at line 808 of file SDL_events.h.
#define SDL_IGNORE 0 |
Definition at line 793 of file SDL_events.h.
#define SDL_PRESSED 1 |
Definition at line 50 of file SDL_events.h.
#define SDL_QUERY -1 |
Definition at line 792 of file SDL_events.h.
#define SDL_RELEASED 0 |
Definition at line 49 of file SDL_events.h.
#define SDL_TEXTEDITINGEVENT_TEXT_SIZE (32) |
Definition at line 229 of file SDL_events.h.
#define SDL_TEXTINPUTEVENT_TEXT_SIZE (32) |
Definition at line 244 of file SDL_events.h.
typedef int( * SDL_EventFilter) (void *userdata, SDL_Event *event) |
Definition at line 735 of file SDL_events.h.
enum SDL_eventaction |
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_LOCALECHANGED | The user's locale preferences have changed. |
SDL_DISPLAYEVENT | Display state change |
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_KEYMAPCHANGED | Keymap changed due to a system event such as an input language or keyboard layout change. |
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_CONTROLLERTOUCHPADDOWN | Game controller touchpad was touched |
SDL_CONTROLLERTOUCHPADMOTION | Game controller touchpad finger was moved |
SDL_CONTROLLERTOUCHPADUP | Game controller touchpad finger was lifted |
SDL_CONTROLLERSENSORUPDATE | Game controller sensor was updated |
SDL_FINGERDOWN | |
SDL_FINGERUP | |
SDL_FINGERMOTION | |
SDL_DOLLARGESTURE | |
SDL_DOLLARRECORD | |
SDL_MULTIGESTURE | |
SDL_CLIPBOARDUPDATE | The clipboard changed |
SDL_DROPFILE | The system requests a file open |
SDL_DROPTEXT | text/plain drag-and-drop event |
SDL_DROPBEGIN | A new set of drops is beginning (NULL filename) |
SDL_DROPCOMPLETE | Current set of drops is now complete (NULL filename) |
SDL_AUDIODEVICEADDED | A new audio device is available |
SDL_AUDIODEVICEREMOVED | An audio device has been removed. |
SDL_SENSORUPDATE | A sensor was updated |
SDL_RENDER_TARGETS_RESET | The render targets have been reset and their contents need to be updated |
SDL_RENDER_DEVICE_RESET | The device has been reset and all textures need to be recreated |
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.
void SDL_AddEventWatch | ( | SDL_EventFilter | filter, |
void * | userdata | ||
) |
Add a function which is called when an event is added to the queue.
void 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.
state
is set to SDL_IGNORE, that event will be automatically dropped from the event queue and will not be filtered.state
is set to SDL_ENABLE, that event will be processed normally.state
is set to SDL_QUERY, SDL_EventState() will return the current processing state of the specified event. void 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.
void SDL_FlushEvent | ( | Uint32 | type | ) |
This function clears events from the event queue This function only affects currently queued events. If you want to make sure that all pending OS events are flushed, you can call SDL_PumpEvents() on the main thread immediately before the flush call.
SDL_bool 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.
int 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.
This function is thread-safe.
int SDL_PollEvent | ( | SDL_Event * | event | ) |
Polls for currently pending events.
event | If not NULL, the next event is removed from the queue and stored in that area. |
void 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.
int SDL_PushEvent | ( | SDL_Event * | event | ) |
Add an event to the event queue.
Uint32 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
void 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.
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.
int SDL_WaitEvent | ( | SDL_Event * | event | ) |
Waits indefinitely for the next available event.
event | If not NULL, the next event is removed from the queue and stored in that area. |
int SDL_WaitEventTimeout | ( | SDL_Event * | event, |
int | timeout | ||
) |
Waits until the specified timeout (in milliseconds) for the next available event.
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. |