SDL_events.h

Estructura SDL_UserEvent

Estructura que contiene un tipo de evento definido por la aplicación.

typedef struct SDL_UserEvent
{
    Uint32 type;        /**< ::SDL_USEREVENT through ::SDL_LASTEVENT-1 */
    Uint32 timestamp;   /**< In milliseconds, populated using SDL_GetTicks() */
    Uint32 windowID;    /**< The associated window if any */
    Sint32 code;        /**< User defined event code */
    void *data1;        /**< User defined data pointer */
    void *data2;        /**< User defined data pointer */
} SDL_UserEvent;

Miembros

type
SDL_USEREVENT a SDL_LASTEVENT-1
timestamp
Marca de tiempo en milisegundos.
windowID
La ventana con el foco del teclado, si hay alguna.
code
Código de evento definido por el usuario.
data1
Puntero a dato definido por el usuario.
data2
Puntero a dato definido por el usuario.

Observaciones

SDL_UserEvent está en el miembro user de la unión SDL_Event. Este evento es único; nunca es creado por SDL sino solo por la aplicación. El evento puede ser empujado a la cola de eventos usando SDL_PushEvent(). El contenido de los miembros de la estructura depende completamente del programador; el único requisito es que el tipo sea un valor obtenido de SDL_RegisterEvents().

Ejemplo

Uint32 myEventType = SDL_RegisterEvents(1);
if (myEventType != ((Uint32)-1)) {
    SDL_Event event;
    SDL_memset(&event, 0, sizeof(event)); /* or SDL_zero(event) */
    event.type = myEventType;
    event.user.code = my_event_code;
    event.user.data1 = significant_data;
    event.user.data2 = 0;
    SDL_PushEvent(&event);
}