Provided by: allegro5-doc_5.2.8.0+dfsg-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)