ALLEGRO_USER_EVENT man page

ALLEGRO_USER_EVENT — Allegro 5 API

Synopsis

#include <allegro5/allegro.h>

typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;

Description

An event structure that can be emitted by user event sources. These are the public fields:

·
ALLEGRO_EVENT_SOURCE *source;
·
intptr_t data1;
·
intptr_t data2;
·
intptr_t data3;
·
intptr_t data4;

Like all other event types this structure is a part of the ALLEGRO_EVENT union. To access the fields in an ALLEGRO_EVENT variable ev, you would use:

·
ev.user.source
·
ev.user.data1
·
ev.user.data2
·
ev.user.data3
·
ev.user.data4

To create a new user event you would do this:

ALLEGRO_EVENT_SOURCE my_event_source;
ALLEGRO_EVENT my_event;
float some_var;

al_init_user_event_source(&my_event_source);

my_event.user.type = ALLEGRO_GET_EVENT_TYPE('M','I','N','E');
my_event.user.data1 = 1;
my_event.user.data2 = &some_var;

al_emit_user_event(&my_event_source, &my_event, NULL);

Event type identifiers for user events are assigned by the user. Please see the documentation for ALLEGRO_GET_EVENT_TYPE(3) for the rules you should follow when assigning identifiers.

See Also

al_emit_user_event(3), ALLEGRO_GET_EVENT_TYPE(3), al_init_user_event_source(3)

Referenced By

al_emit_user_event(3), al_init_user_event_source(3), ALLEGRO_GET_EVENT_TYPE(3), al_unref_user_event(3).

Allegro reference manual