SDL_events.h

Función SDL_AddEventWatch

Sintaxis

void SDL_AddEventWatch(SDL_EventFilter filter, void *userdata);

Descripción

Añade una retrollamada que será enviada cuando se añada un evento a la cola de eventos.

Parámetros

filter
Una función SDL_EventFilter para invocar cuando ocurra un evento.
userdata
Un puntero que será pasado a filter.

Observaciones

filter será llamada cuando ocurra un evento, y su valor de retorno será ignorado.

ADVERTENCIA: Hay que tener mucho cuidado con lo que se hace en la función de filtro de eventos, ya que puede ejecutarse en un hilo diferente.

Si el evento de salida (quit) es generado por una señal (por ejemplo, SIGINT), se saltará la cola interna y será entregado a la retrollamada de vigilancia inmediatamente, y llegará en el siguiente sondeo de eventos.

Nota: la retrollamada es invocada para eventos enviados por el usuario a través de SDL_PushEvent(), pero no para eventos deshabilitados, ni para eventos por una retrollamada de filtro establecida con SDL_SetEventFilter(), ni para eventos enviados por el usuario a través de SDL_PeepEvents().

Ejemplo

int MyEventFunction(void *userdata, SDL_Event *event) {
    // Hacer cosas con los datos de usuario userdata y el evento
    return 0; // El valor será ignorado
}

// ...
SDL_AddEventWatch(MyEventFunction, NULL);