This is new wiki software and old wiki content. It's a work in progress!
Here's the explanation.
Be gentle, report bugs, leave feedback on pages, or just edit them yourself! Thanks!

SDL Wiki


Poll for currently pending events.


int SDL_PollEvent(SDL_Event * event);

Function Parameters


the SDL_Event structure to be filled with the next event from the queue, or NULL

Return Value

Returns 1 if there is a pending event or 0 if there are none available.


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 implicitly calls 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

Code Examples

while (1) {
    SDL_Event event;
    while (SDL_PollEvent(&event)) {
        /* handle your event here */
    /* do some other stuff here -- draw your app, etc. */

CategoryAPI, CategoryEvents

[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.