arsa  2.7
Classes | Macros | Typedefs | Enumerations | Functions
SDL_events.h File Reference
#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.

Classes

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_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_GetEventState(type)   SDL_EventState(type, SDL_QUERY)
 

Typedefs

typedef struct SDL_CommonEvent SDL_CommonEvent
 Fields shared by every event. More...
 
typedef struct SDL_DisplayEvent SDL_DisplayEvent
 Display state change event data (event.display.*) More...
 
typedef struct SDL_WindowEvent SDL_WindowEvent
 Window state change event data (event.window.*) More...
 
typedef struct SDL_KeyboardEvent SDL_KeyboardEvent
 Keyboard button event structure (event.key.*) More...
 
typedef struct SDL_TextEditingEvent SDL_TextEditingEvent
 Keyboard text editing event structure (event.edit.*) More...
 
typedef struct SDL_TextInputEvent SDL_TextInputEvent
 Keyboard text input event structure (event.text.*) More...
 
typedef struct SDL_MouseMotionEvent SDL_MouseMotionEvent
 Mouse motion event structure (event.motion.*) More...
 
typedef struct SDL_MouseButtonEvent SDL_MouseButtonEvent
 Mouse button event structure (event.button.*) More...
 
typedef struct SDL_MouseWheelEvent SDL_MouseWheelEvent
 Mouse wheel event structure (event.wheel.*) More...
 
typedef struct SDL_JoyAxisEvent SDL_JoyAxisEvent
 Joystick axis motion event structure (event.jaxis.*) More...
 
typedef struct SDL_JoyBallEvent SDL_JoyBallEvent
 Joystick trackball motion event structure (event.jball.*) More...
 
typedef struct SDL_JoyHatEvent SDL_JoyHatEvent
 Joystick hat position change event structure (event.jhat.*) More...
 
typedef struct SDL_JoyButtonEvent SDL_JoyButtonEvent
 Joystick button event structure (event.jbutton.*) More...
 
typedef struct SDL_JoyDeviceEvent SDL_JoyDeviceEvent
 Joystick device event structure (event.jdevice.*) More...
 
typedef struct SDL_ControllerAxisEvent SDL_ControllerAxisEvent
 Game controller axis motion event structure (event.caxis.*) More...
 
typedef struct SDL_ControllerButtonEvent SDL_ControllerButtonEvent
 Game controller button event structure (event.cbutton.*) More...
 
typedef struct SDL_ControllerDeviceEvent SDL_ControllerDeviceEvent
 Controller device event structure (event.cdevice.*) More...
 
typedef struct SDL_AudioDeviceEvent SDL_AudioDeviceEvent
 Audio device event structure (event.adevice.*) More...
 
typedef struct SDL_TouchFingerEvent SDL_TouchFingerEvent
 Touch finger event structure (event.tfinger.*) More...
 
typedef struct SDL_MultiGestureEvent SDL_MultiGestureEvent
 Multiple Finger Gesture Event (event.mgesture.*) More...
 
typedef struct SDL_DollarGestureEvent SDL_DollarGestureEvent
 Dollar Gesture Event (event.dgesture.*) More...
 
typedef struct SDL_DropEvent 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...
 
typedef struct SDL_SensorEvent SDL_SensorEvent
 Sensor event structure (event.sensor.*) More...
 
typedef struct SDL_QuitEvent SDL_QuitEvent
 The "quit requested" event. More...
 
typedef struct SDL_OSEvent SDL_OSEvent
 OS Specific event. More...
 
typedef struct SDL_UserEvent SDL_UserEvent
 A user-defined event type (event.user.*) More...
 
typedef struct SDL_SysWMmsg SDL_SysWMmsg
 
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() More...
 
typedef union SDL_Event SDL_Event
 General event structure. More...
 
typedef int(SDLCALLSDL_EventFilter) (void *userdata, SDL_Event *event)
 

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_DISPLAYEVENT = 0x150, SDL_WINDOWEVENT = 0x200, SDL_SYSWMEVENT, SDL_KEYDOWN = 0x300,
  SDL_KEYUP, SDL_TEXTEDITING, SDL_TEXTINPUT, SDL_KEYMAPCHANGED,
  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_FINGERDOWN = 0x700, SDL_FINGERUP, SDL_FINGERMOTION,
  SDL_DOLLARGESTURE = 0x800, SDL_DOLLARRECORD, SDL_MULTIGESTURE, SDL_CLIPBOARDUPDATE = 0x900,
  SDL_DROPFILE = 0x1000, SDL_DROPTEXT, SDL_DROPBEGIN, SDL_DROPCOMPLETE,
  SDL_AUDIODEVICEADDED = 0x1100, SDL_AUDIODEVICEREMOVED, SDL_SENSORUPDATE = 0x1200, SDL_RENDER_TARGETS_RESET = 0x2000,
  SDL_RENDER_DEVICE_RESET, SDL_USEREVENT = 0x8000, SDL_LASTEVENT = 0xFFFF
}
 The types of events that can be delivered. More...
 

Functions

 SDL_COMPILE_TIME_ASSERT (SDL_Event, sizeof(SDL_Event)==56)
 
DECLSPEC void SDLCALL SDL_PumpEvents (void)
 
DECLSPEC SDL_bool SDLCALL SDL_HasEvent (Uint32 type)
 
DECLSPEC SDL_bool SDLCALL SDL_HasEvents (Uint32 minType, Uint32 maxType)
 
DECLSPEC void SDLCALL SDL_FlushEvent (Uint32 type)
 
DECLSPEC void SDLCALL SDL_FlushEvents (Uint32 minType, Uint32 maxType)
 
DECLSPEC int SDLCALL SDL_PollEvent (SDL_Event *event)
 Polls for currently pending events. More...
 
DECLSPEC int SDLCALL SDL_WaitEvent (SDL_Event *event)
 Waits indefinitely for the next available event. More...
 
DECLSPEC int SDLCALL SDL_WaitEventTimeout (SDL_Event *event, int timeout)
 Waits until the specified timeout (in milliseconds) for the next available event. More...
 
DECLSPEC int SDLCALL SDL_PushEvent (SDL_Event *event)
 Add an event to the event queue. More...
 
DECLSPEC void SDLCALL SDL_SetEventFilter (SDL_EventFilter filter, void *userdata)
 
DECLSPEC SDL_bool SDLCALL SDL_GetEventFilter (SDL_EventFilter *filter, void **userdata)
 
DECLSPEC void SDLCALL SDL_AddEventWatch (SDL_EventFilter filter, void *userdata)
 
DECLSPEC void SDLCALL SDL_DelEventWatch (SDL_EventFilter filter, void *userdata)
 
DECLSPEC void SDLCALL SDL_FilterEvents (SDL_EventFilter filter, void *userdata)
 
DECLSPEC Uint32 SDLCALL SDL_RegisterEvents (int numevents)
 
enum  SDL_eventaction { SDL_ADDEVENT, SDL_PEEKEVENT, SDL_GETEVENT }
 
DECLSPEC int SDLCALL SDL_PeepEvents (SDL_Event *events, int numevents, SDL_eventaction action, Uint32 minType, Uint32 maxType)
 
#define SDL_QUERY   -1
 
#define SDL_IGNORE   0
 
#define SDL_DISABLE   0
 
#define SDL_ENABLE   1
 
DECLSPEC Uint8 SDLCALL SDL_EventState (Uint32 type, int state)
 

Detailed Description

Include file for SDL event handling.

Definition in file SDL_events.h.

Macro Definition Documentation

◆ SDL_DISABLE

#define SDL_DISABLE   0

Definition at line 759 of file SDL_events.h.

◆ SDL_ENABLE

#define SDL_ENABLE   1

Definition at line 760 of file SDL_events.h.

◆ SDL_GetEventState

#define SDL_GetEventState (   type)    SDL_EventState(type, SDL_QUERY)

Definition at line 773 of file SDL_events.h.

◆ SDL_IGNORE

#define SDL_IGNORE   0

Definition at line 758 of file SDL_events.h.

◆ SDL_PRESSED

#define SDL_PRESSED   1

Definition at line 50 of file SDL_events.h.

◆ SDL_QUERY

#define SDL_QUERY   -1

Definition at line 757 of file SDL_events.h.

◆ SDL_RELEASED

#define SDL_RELEASED   0

Definition at line 49 of file SDL_events.h.

◆ SDL_TEXTEDITINGEVENT_TEXT_SIZE

#define SDL_TEXTEDITINGEVENT_TEXT_SIZE   (32)

Definition at line 223 of file SDL_events.h.

◆ SDL_TEXTINPUTEVENT_TEXT_SIZE

#define SDL_TEXTINPUTEVENT_TEXT_SIZE   (32)

Definition at line 238 of file SDL_events.h.

Typedef Documentation

◆ SDL_AudioDeviceEvent

Audio device event structure (event.adevice.*)

◆ SDL_CommonEvent

Fields shared by every event.

◆ SDL_ControllerAxisEvent

Game controller axis motion event structure (event.caxis.*)

◆ SDL_ControllerButtonEvent

Game controller button event structure (event.cbutton.*)

◆ SDL_ControllerDeviceEvent

Controller device event structure (event.cdevice.*)

◆ SDL_DisplayEvent

Display state change event data (event.display.*)

◆ SDL_DollarGestureEvent

Dollar Gesture Event (event.dgesture.*)

◆ SDL_DropEvent

typedef struct SDL_DropEvent 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().

Note
If this event is enabled, you must free the filename in the event.

◆ SDL_Event

typedef union SDL_Event SDL_Event

General event structure.

◆ SDL_EventFilter

typedef int(SDLCALL * SDL_EventFilter) (void *userdata, SDL_Event *event)

Definition at line 700 of file SDL_events.h.

◆ SDL_JoyAxisEvent

Joystick axis motion event structure (event.jaxis.*)

◆ SDL_JoyBallEvent

Joystick trackball motion event structure (event.jball.*)

◆ SDL_JoyButtonEvent

Joystick button event structure (event.jbutton.*)

◆ SDL_JoyDeviceEvent

Joystick device event structure (event.jdevice.*)

◆ SDL_JoyHatEvent

Joystick hat position change event structure (event.jhat.*)

◆ SDL_KeyboardEvent

Keyboard button event structure (event.key.*)

◆ SDL_MouseButtonEvent

Mouse button event structure (event.button.*)

◆ SDL_MouseMotionEvent

Mouse motion event structure (event.motion.*)

◆ SDL_MouseWheelEvent

Mouse wheel event structure (event.wheel.*)

◆ SDL_MultiGestureEvent

Multiple Finger Gesture Event (event.mgesture.*)

◆ SDL_OSEvent

typedef struct SDL_OSEvent SDL_OSEvent

OS Specific event.

◆ SDL_QuitEvent

typedef struct SDL_QuitEvent SDL_QuitEvent

The "quit requested" event.

◆ SDL_SensorEvent

Sensor event structure (event.sensor.*)

◆ 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.

◆ SDL_SysWMmsg

typedef struct SDL_SysWMmsg SDL_SysWMmsg

Definition at line 540 of file SDL_events.h.

◆ SDL_TextEditingEvent

Keyboard text editing event structure (event.edit.*)

◆ SDL_TextInputEvent

Keyboard text input event structure (event.text.*)

◆ SDL_TouchFingerEvent

Touch finger event structure (event.tfinger.*)

◆ SDL_UserEvent

typedef struct SDL_UserEvent SDL_UserEvent

A user-defined event type (event.user.*)

◆ SDL_WindowEvent

Window state change event data (event.window.*)

Enumeration Type Documentation

◆ SDL_eventaction

Enumerator
SDL_ADDEVENT 
SDL_PEEKEVENT 
SDL_GETEVENT 

Definition at line 614 of file SDL_events.h.

◆ 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_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_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.

56 {
57  SDL_FIRSTEVENT = 0,
59  /* Application events */
60  SDL_QUIT = 0x100,
62  /* These application events have special meaning on iOS, see README-ios.md for details */
88  /* Display events */
89  SDL_DISPLAYEVENT = 0x150,
91  /* Window events */
92  SDL_WINDOWEVENT = 0x200,
95  /* Keyboard events */
96  SDL_KEYDOWN = 0x300,
97  SDL_KEYUP,
104  /* Mouse events */
105  SDL_MOUSEMOTION = 0x400,
110  /* Joystick events */
111  SDL_JOYAXISMOTION = 0x600,
119  /* Game controller events */
120  SDL_CONTROLLERAXISMOTION = 0x650,
127  /* Touch events */
128  SDL_FINGERDOWN = 0x700,
129  SDL_FINGERUP,
131 
132  /* Gesture events */
133  SDL_DOLLARGESTURE = 0x800,
136 
137  /* Clipboard events */
138  SDL_CLIPBOARDUPDATE = 0x900,
140  /* Drag and drop events */
141  SDL_DROPFILE = 0x1000,
142  SDL_DROPTEXT,
143  SDL_DROPBEGIN,
146  /* Audio hotplug events */
147  SDL_AUDIODEVICEADDED = 0x1100,
150  /* Sensor events */
151  SDL_SENSORUPDATE = 0x1200,
153  /* Render events */
154  SDL_RENDER_TARGETS_RESET = 0x2000,
160  SDL_USEREVENT = 0x8000,
161 
165  SDL_LASTEVENT = 0xFFFF
166 } SDL_EventType;
SDL_EventType
The types of events that can be delivered.
Definition: SDL_events.h:55

Function Documentation

◆ SDL_AddEventWatch()

DECLSPEC void SDLCALL SDL_AddEventWatch ( SDL_EventFilter  filter,
void userdata 
)

Add a function which is called when an event is added to the queue.

◆ SDL_COMPILE_TIME_ASSERT()

SDL_COMPILE_TIME_ASSERT ( SDL_Event  ,
sizeof(SDL_Event = =56 
)

◆ SDL_DelEventWatch()

DECLSPEC void SDLCALL SDL_DelEventWatch ( SDL_EventFilter  filter,
void userdata 
)

Remove an event watch function added with SDL_AddEventWatch()

◆ SDL_EventState()

DECLSPEC Uint8 SDLCALL SDL_EventState ( Uint32  type,
int  state 
)

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 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.

◆ SDL_FilterEvents()

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.

◆ SDL_FlushEvent()

DECLSPEC void SDLCALL 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_FlushEvents()

DECLSPEC void SDLCALL SDL_FlushEvents ( Uint32  minType,
Uint32  maxType 
)

◆ SDL_GetEventFilter()

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.

◆ SDL_HasEvent()

DECLSPEC SDL_bool SDLCALL SDL_HasEvent ( Uint32  type)

Checks to see if certain event types are in the event queue.

◆ SDL_HasEvents()

DECLSPEC SDL_bool SDLCALL SDL_HasEvents ( Uint32  minType,
Uint32  maxType 
)

◆ SDL_PeepEvents()

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.

◆ SDL_PollEvent()

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
eventIf not NULL, the next event is removed from the queue and stored in that area.

◆ SDL_PumpEvents()

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.

◆ SDL_PushEvent()

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.

◆ SDL_RegisterEvents()

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

◆ SDL_SetEventFilter()

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:

int SDL_EventFilter(void *userdata, SDL_Event * event);

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.

◆ SDL_WaitEvent()

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
eventIf not NULL, the next event is removed from the queue and stored in that area.

◆ SDL_WaitEventTimeout()

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
eventIf not NULL, the next event is removed from the queue and stored in that area.
timeoutThe timeout (in milliseconds) to wait for next event.