DRAFT |
SDL_PeepEvents
Use this function to check the event queue for messages and optionally return them.
Contents
Syntax
int SDL_PeepEvents(SDL_Event* events,
int numevents,
SDL_eventaction action,
Uint32 mask)
Function Parameters
events |
a pointer to the ID of the event queue to query |
numevents |
the number of events to work with; see Remarks for details |
action |
how to handle the events in the queue; see Remarks for details |
mask |
*a bit-wise OR of SDL_EVENTMASK(event_type), for all event types you are interested in*; see Remarks and SDL_EventMask for details ??? |
Return Value
Returns the number of events actually stored, or -1 if there was an error; call SDL_GetError() for more information.
Code Examples
You can add your code example here
Remarks
action may be any of the following (from enum SDL_eventaction):
SDL_ADDEVENT |
up to numevents events will be added to the back of the event queue |
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 |
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 |
green
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.
*Examples of mask:
- SDL_EVENTMASK (SDL_KEYUP)
- (SDL_EVENTMASK (SDL_MOUSEBUTTONDOWN) | SDL_EVENTMASK (SDL_MOUSEBUTTONUP))
- SDL_ALLEVENTS
- SDL_KEYUPMASK
- SDL_ALLEVENTS ^ SDL_QUITMASK
*
This function is thread-safe.
green
You may have to call SDL_PumpEvents() before calling this function. Otherwise, the events may not be ready to be filtered when you call SDL_PeepEvents().
Related Functions
SDL_PollEvent *???
SDL_PumpEvents *???
SDL_PushEvent *???
