sdlAddEventWatch function

void sdlAddEventWatch(
  1. Pointer<NativeFunction<SdlEventFilter>> filter,
  2. 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

\since This function is available since SDL 2.0.0.

\sa SDL_DelEventWatch \sa SDL_SetEventFilter

extern DECLSPEC void SDLCALL SDL_AddEventWatch(SDL_EventFilter filter, void *userdata)

Implementation

void sdlAddEventWatch(Pointer<NativeFunction<SdlEventFilter>> filter,
    Pointer<NativeType> userdata) {
  final sdlAddEventWatchLookupFunction = libSdl2.lookupFunction<
      Void Function(Pointer<NativeFunction<SdlEventFilter>> filter,
          Pointer<NativeType> userdata),
      void Function(Pointer<NativeFunction<SdlEventFilter>> filter,
          Pointer<NativeType> userdata)>('SDL_AddEventWatch');
  return sdlAddEventWatchLookupFunction(filter, userdata);
}