.\" Automatically generated by Pandoc 3.6.1 .\" .TH "ALLEGRO_GET_EVENT_TYPE" "3" "" "Allegro reference manual" .SH NAME ALLEGRO_GET_EVENT_TYPE \- Allegro 5 API .SH SYNOPSIS .IP .EX #include \f[B]\f[R] #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d) .EE .SH DESCRIPTION Make an event type identifier, which is a 32\-bit integer. Usually, but not necessarily, this will be made from four 8\-bit character codes, for example: .IP .EX #define MY_EVENT_TYPE ALLEGRO_GET_EVENT_TYPE(\[aq]M\[aq],\[aq]I\[aq],\[aq]N\[aq],\[aq]E\[aq]) .EE .PP IDs less than 1024 are reserved for Allegro or its addons. Don\[cq]t use anything lower than \f[CR]ALLEGRO_GET_EVENT_TYPE(0, 0, 4, 0)\f[R]. .PP You should try to make your IDs unique so they don\[cq]t clash with any 3rd party code you may be using. Be creative. Numbering from 1024 is not creative. .PP If you need multiple identifiers, you could define them like this: .IP .EX #define BASE_EVENT ALLEGRO_GET_EVENT_TYPE(\[aq]M\[aq],\[aq]I\[aq],\[aq]N\[aq],\[aq]E\[aq]) #define BARK_EVENT (BASE_EVENT + 0) #define MEOW_EVENT (BASE_EVENT + 1) #define SQUAWK_EVENT (BASE_EVENT + 2) \f[I]/* Alternatively */\f[R] \f[B]enum\f[R] { BARK_EVENT = ALLEGRO_GET_EVENT_TYPE(\[aq]M\[aq],\[aq]I\[aq],\[aq]N\[aq],\[aq]E\[aq]), MEOW_EVENT, SQUAWK_EVENT }; .EE .SH SEE ALSO ALLEGRO_EVENT(3), ALLEGRO_USER_EVENT(3), ALLEGRO_EVENT_TYPE_IS_USER(3)