bionic (3) ALLEGRO_USER_EVENT.3alleg5.gz

Provided by: allegro5-doc_5.2.3.0-1_all bug

NAME

       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(3alleg5) for the rules you should follow when assigning identifiers.

SEE ALSO

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