table of contents
SDL_SetEventFilter(3) | SDL3 FUNCTIONS | SDL_SetEventFilter(3) |
NAME¶
SDL_SetEventFilter - Set up a filter to process all events before they change internal state and are posted to the internal event queue.
HEADER FILE¶
Defined in SDL3/SDL_events.h
SYNOPSIS¶
#include "SDL3/SDL.h"
void SDL_SetEventFilter(SDL_EventFilter filter, void *userdata);
DESCRIPTION¶
If the filter function returns true when called, then the event will be added to the internal queue. If it returns false, 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!
On platforms that support it, if the quit event is generated by an interrupt signal (e.g. pressing Ctrl-C), it will be delivered to the application at the next event poll.
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.
Note: Disabled events never make it to the event filter function; see
SDL_SetEventEnabled ().
Note: If you just want to inspect events without filtering, you should use
SDL_AddEventWatch () instead.
Note: Events pushed onto the queue with SDL_PushEvent () get passed through the event filter, but events pushed onto the queue with
SDL_PeepEvents () do not.
FUNCTION PARAMETERS¶
THREAD SAFETY¶
It is safe to call this function from any thread.
AVAILABILITY¶
This function is available since SDL 3.1.3.
SEE ALSO¶
•(3), SDL_AddEventWatch(3), •(3), SDL_SetEventEnabled(3), •(3), SDL_GetEventFilter(3), •(3), SDL_PeepEvents(3), •(3), SDL_PushEvent(3)
SDL 3.1.6 | Simple Directmedia Layer |