sdlAddEventWatch function
- Pointer<
NativeFunction< filter,SdlEventFilter> > - Pointer<
NativeType> userdata
Add a callback to be triggered when an event is added to the event queue.
filter
will be called when an event happens, and its return value is
ignored.
WARNING: Be very careful of what you do in the event filter function, as it may run in a different thread!
If the quit event is generated by a signal (e.g. SIGINT), it will bypass the internal queue and be delivered to the watch callback immediately, and arrive at the next event poll.
Note: the callback is called for events posted by the user through SDL_PushEvent(), but not for disabled events, nor for events by a filter callback set with SDL_SetEventFilter(), nor for events posted by the user through SDL_PeepEvents().
\param filter an SDL_EventFilter function to call when an event happens.
\param userdata a pointer that is passed to filter
.
\returns true on success or false on failure; call SDL_GetError() for more
information.
\threadsafety It is safe to call this function from any thread.
\since This function is available since SDL 3.1.3.
\sa SDL_RemoveEventWatch \sa SDL_SetEventFilter
extern SDL_DECLSPEC bool SDLCALL SDL_AddEventWatch(SDL_EventFilter filter, void *userdata)
Implementation
bool sdlAddEventWatch(Pointer<NativeFunction<SdlEventFilter>> filter,
Pointer<NativeType> userdata) {
final sdlAddEventWatchLookupFunction = libSdl3.lookupFunction<
Uint8 Function(Pointer<NativeFunction<SdlEventFilter>> filter,
Pointer<NativeType> userdata),
int Function(Pointer<NativeFunction<SdlEventFilter>> filter,
Pointer<NativeType> userdata)>('SDL_AddEventWatch');
return sdlAddEventWatchLookupFunction(filter, userdata) == 1;
}