#include "SDL_stdinc.h"
#include "SDL_error.h"
#include "SDL_active.h"
#include "SDL_keyboard.h"
#include "SDL_mouse.h"
#include "SDL_joystick.h"
#include "SDL_quit.h"
#include "begin_code.h"
#include "close_code.h"
Go to the source code of this file.
Data Structures | |
struct | SDL_ActiveEvent |
struct | SDL_KeyboardEvent |
struct | SDL_MouseMotionEvent |
struct | SDL_MouseButtonEvent |
struct | SDL_JoyAxisEvent |
struct | SDL_JoyBallEvent |
struct | SDL_JoyHatEvent |
struct | SDL_JoyButtonEvent |
struct | SDL_ResizeEvent |
struct | SDL_ExposeEvent |
struct | SDL_QuitEvent |
struct | SDL_UserEvent |
struct | SDL_SysWMEvent |
union | SDL_Event |
Defines | |
General keyboard/mouse state definitions | |
#define | SDL_RELEASED 0 |
#define | SDL_PRESSED 1 |
Event State | |
#define | SDL_QUERY -1 |
#define | SDL_IGNORE 0 |
#define | SDL_DISABLE 0 |
#define | SDL_ENABLE 1 |
Typedefs | |
typedef struct SDL_SysWMmsg | SDL_SysWMmsg |
Enumerations | |
enum | SDL_EventType { SDL_NOEVENT = 0, 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_EVENT_RESERVEDA, SDL_EVENT_RESERVEDB, SDL_VIDEORESIZE, SDL_VIDEOEXPOSE, SDL_EVENT_RESERVED2, SDL_EVENT_RESERVED3, SDL_EVENT_RESERVED4, SDL_EVENT_RESERVED5, SDL_EVENT_RESERVED6, SDL_EVENT_RESERVED7, SDL_USEREVENT = 24, SDL_NUMEVENTS = 32 } |
enum | SDL_eventaction { SDL_ADDEVENT, SDL_PEEKEVENT, SDL_GETEVENT } |
Functions | |
DECLSPEC void SDLCALL | SDL_PumpEvents (void) |
DECLSPEC int SDLCALL | SDL_PeepEvents (SDL_Event *events, int numevents, SDL_eventaction action, Uint32 mask) |
DECLSPEC int SDLCALL | SDL_PollEvent (SDL_Event *event) |
DECLSPEC int SDLCALL | SDL_WaitEvent (SDL_Event *event) |
DECLSPEC int SDLCALL | SDL_PushEvent (SDL_Event *event) |
DECLSPEC Uint8 SDLCALL | SDL_EventState (Uint8 type, int state) |
Predefined event masks | |
#define | SDL_EVENTMASK(X) (1<<(X)) |
#define | SDL_ALLEVENTS 0xFFFFFFFF |
enum | SDL_EventMask { SDL_ACTIVEEVENTMASK = SDL_EVENTMASK(SDL_ACTIVEEVENT), SDL_KEYDOWNMASK = SDL_EVENTMASK(SDL_KEYDOWN), SDL_KEYUPMASK = SDL_EVENTMASK(SDL_KEYUP), SDL_KEYEVENTMASK, SDL_MOUSEMOTIONMASK = SDL_EVENTMASK(SDL_MOUSEMOTION), SDL_MOUSEBUTTONDOWNMASK = SDL_EVENTMASK(SDL_MOUSEBUTTONDOWN), SDL_MOUSEBUTTONUPMASK = SDL_EVENTMASK(SDL_MOUSEBUTTONUP), SDL_MOUSEEVENTMASK, SDL_JOYAXISMOTIONMASK = SDL_EVENTMASK(SDL_JOYAXISMOTION), SDL_JOYBALLMOTIONMASK = SDL_EVENTMASK(SDL_JOYBALLMOTION), SDL_JOYHATMOTIONMASK = SDL_EVENTMASK(SDL_JOYHATMOTION), SDL_JOYBUTTONDOWNMASK = SDL_EVENTMASK(SDL_JOYBUTTONDOWN), SDL_JOYBUTTONUPMASK = SDL_EVENTMASK(SDL_JOYBUTTONUP), SDL_JOYEVENTMASK, SDL_VIDEORESIZEMASK = SDL_EVENTMASK(SDL_VIDEORESIZE), SDL_VIDEOEXPOSEMASK = SDL_EVENTMASK(SDL_VIDEOEXPOSE), SDL_QUITMASK = SDL_EVENTMASK(SDL_QUIT), SDL_SYSWMEVENTMASK = SDL_EVENTMASK(SDL_SYSWMEVENT) } |
Event Filtering | |
typedef int(SDLCALL * | SDL_EventFilter )(const SDL_Event *event) |
DECLSPEC void SDLCALL | SDL_SetEventFilter (SDL_EventFilter filter) |
DECLSPEC SDL_EventFilter SDLCALL | SDL_GetEventFilter (void) |
enum SDL_EventType |
Event enumerations
DECLSPEC Uint8 SDLCALL SDL_EventState | ( | Uint8 | 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 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 SDL_EventFilter SDLCALL SDL_GetEventFilter | ( | void | ) |
Return the current event filter - can be used to "chain" filters. If there is no event filter set, this function returns NULL.
DECLSPEC int SDLCALL SDL_PeepEvents | ( | SDL_Event * | events, | |
int | numevents, | |||
SDL_eventaction | action, | |||
Uint32 | mask | |||
) |
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, matching 'mask', 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, matching 'mask', will be returned and will be removed from the queue.
DECLSPEC int SDLCALL SDL_PollEvent | ( | SDL_Event * | event | ) |
Polls for currently pending events, and returns 1 if there are any pending events, or 0 if there are none available. If 'event' is 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. This function returns 0 on success, or -1 if the event queue was full or there was some other error.
DECLSPEC void SDLCALL SDL_SetEventFilter | ( | SDL_EventFilter | filter | ) |
This function sets up a filter to process all events before they change internal state and are posted to the internal event queue.
The filter is protypted 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.
DECLSPEC int SDLCALL SDL_WaitEvent | ( | SDL_Event * | event | ) |
Waits indefinitely for the next available event, returning 1, or 0 if there was an error while waiting for events. If 'event' is not NULL, the next event is removed from the queue and stored in that area.