Man page - sdl_pollevent(3)
Packages contains this manual
Manual
SDL_PollEvent
NAMEHEADER FILE
SYNOPSIS
DESCRIPTION
FUNCTION PARAMETERS
RETURN VALUE
THREAD SAFETY
AVAILABILITY
SEE ALSO
NAME
SDL_PollEvent - Poll for currently pending events.
HEADER FILE
Defined in SDL3/SDL_events.h
SYNOPSIS
#include "SDL3/SDL.h"
bool SDL_PollEvent(SDL_Event *event);
DESCRIPTION
If
event
is not NULL, the next event is removed from the queue and
stored in the
SDL_Event
structure pointed to by
event
. The 1 returned refers
to this event, immediately stored in the SDL Event structure
-- not an event to follow.
If event is NULL, it simply returns 1 if there is an event in the queue, but will not remove it from the queue.
As this function may implicitly call SDL_PumpEvents (), you can only call this function in the thread that set the video mode.
SDL_PollEvent () is the favored way of receiving system events since it can be done from the main loop and does not suspend the main loop while waiting on an event to be posted.
The common practice is to fully process the event queue once every frame, usually as a first step before updating the gameβs state:
while
(game_is_still_running) {
SDL_Event event;
while (SDL_PollEvent(&event)) { // poll until all events
are handled!
// decide what to do with this event.
}
// update game
state, draw the current frame
}
FUNCTION PARAMETERS
|
event |
the SDL_Event |
structure to be filled with the next event from the queue, or NULL.
RETURN VALUE
Returns true if this got an event or false if there are none available.
THREAD SAFETY
This function should only be called on the main thread.
AVAILABILITY
This function is available since SDL 3.2.0.
SEE ALSO
β’ (3), SDL_PushEvent (3), β’ (3), SDL_WaitEvent (3), β’ (3), SDL_WaitEventTimeout (3)