- printf("Character'Val (%d);\n", c);
-}
-
-/*
- * Generate the constants for the ACS characters
- */
-static void
-gen_acs(void)
-{
- printf(" type C_ACS_Map is array (Character'Val (0) .. Character'Val (127))\n");
- printf(" of Attributed_Character;\n");
-#if USE_REENTRANT || BROKEN_LINKER
- printf(" type C_ACS_Ptr is access C_ACS_Map;\n");
- printf(" function ACS_Map return C_ACS_Ptr;\n");
- printf(" pragma Import (C, ACS_Map, \""
- NCURSES_WRAP_PREFIX
- "acs_map\");\n");
-#else
- printf(" ACS_Map : C_ACS_Map;\n");
- printf(" pragma Import (C, ACS_Map, \"acs_map\");\n");
-#endif
- printf(" --\n");
- printf(" --\n");
- printf(" -- Constants for several characters from the Alternate Character Set\n");
- printf(" -- You must use these constants as indices into the ACS_Map array\n");
- printf(" -- to get the corresponding attributed character at runtime.\n");
- printf(" --\n");
-
-#ifdef ACS_ULCORNER
- acs_def("ACS_Upper_Left_Corner", &ACS_ULCORNER);
-#endif
-#ifdef ACS_LLCORNER
- acs_def("ACS_Lower_Left_Corner", &ACS_LLCORNER);
-#endif
-#ifdef ACS_URCORNER
- acs_def("ACS_Upper_Right_Corner", &ACS_URCORNER);
-#endif
-#ifdef ACS_LRCORNER
- acs_def("ACS_Lower_Right_Corner", &ACS_LRCORNER);
-#endif
-#ifdef ACS_LTEE
- acs_def("ACS_Left_Tee", &ACS_LTEE);
-#endif
-#ifdef ACS_RTEE
- acs_def("ACS_Right_Tee", &ACS_RTEE);
-#endif
-#ifdef ACS_BTEE
- acs_def("ACS_Bottom_Tee", &ACS_BTEE);
-#endif
-#ifdef ACS_TTEE
- acs_def("ACS_Top_Tee", &ACS_TTEE);
-#endif
-#ifdef ACS_HLINE
- acs_def("ACS_Horizontal_Line", &ACS_HLINE);
-#endif
-#ifdef ACS_VLINE
- acs_def("ACS_Vertical_Line", &ACS_VLINE);
-#endif
-#ifdef ACS_PLUS
- acs_def("ACS_Plus_Symbol", &ACS_PLUS);
-#endif
-#ifdef ACS_S1
- acs_def("ACS_Scan_Line_1", &ACS_S1);
-#endif
-#ifdef ACS_S9
- acs_def("ACS_Scan_Line_9", &ACS_S9);
-#endif
-#ifdef ACS_DIAMOND
- acs_def("ACS_Diamond", &ACS_DIAMOND);
-#endif
-#ifdef ACS_CKBOARD
- acs_def("ACS_Checker_Board", &ACS_CKBOARD);
-#endif
-#ifdef ACS_DEGREE
- acs_def("ACS_Degree", &ACS_DEGREE);
-#endif
-#ifdef ACS_PLMINUS
- acs_def("ACS_Plus_Minus", &ACS_PLMINUS);
-#endif
-#ifdef ACS_BULLET
- acs_def("ACS_Bullet", &ACS_BULLET);
-#endif
-#ifdef ACS_LARROW
- acs_def("ACS_Left_Arrow", &ACS_LARROW);
-#endif
-#ifdef ACS_RARROW
- acs_def("ACS_Right_Arrow", &ACS_RARROW);
-#endif
-#ifdef ACS_DARROW
- acs_def("ACS_Down_Arrow", &ACS_DARROW);
-#endif
-#ifdef ACS_UARROW
- acs_def("ACS_Up_Arrow", &ACS_UARROW);
-#endif
-#ifdef ACS_BOARD
- acs_def("ACS_Board_Of_Squares", &ACS_BOARD);
-#endif
-#ifdef ACS_LANTERN
- acs_def("ACS_Lantern", &ACS_LANTERN);
-#endif
-#ifdef ACS_BLOCK
- acs_def("ACS_Solid_Block", &ACS_BLOCK);
-#endif
-#ifdef ACS_S3
- acs_def("ACS_Scan_Line_3", &ACS_S3);
-#endif
-#ifdef ACS_S7
- acs_def("ACS_Scan_Line_7", &ACS_S7);
-#endif
-#ifdef ACS_LEQUAL
- acs_def("ACS_Less_Or_Equal", &ACS_LEQUAL);
-#endif
-#ifdef ACS_GEQUAL
- acs_def("ACS_Greater_Or_Equal", &ACS_GEQUAL);
-#endif
-#ifdef ACS_PI
- acs_def("ACS_PI", &ACS_PI);
-#endif
-#ifdef ACS_NEQUAL
- acs_def("ACS_Not_Equal", &ACS_NEQUAL);
-#endif
-#ifdef ACS_STERLING
- acs_def("ACS_Sterling", &ACS_STERLING);
-#endif
-}
-
-#define GEN_EVENT(name,value) \
- printf(" %-25s : constant Event_Mask := 8#%011lo#;\n", \
- #name, value)
-
-#define GEN_MEVENT(name) \
- printf(" %-25s : constant Event_Mask := 8#%011lo#;\n", \
- #name, name)
-
-static void
-gen_mouse_events(void)
-{
- mmask_t all1 = 0;
- mmask_t all2 = 0;
- mmask_t all3 = 0;
- mmask_t all4 = 0;
-
-#ifdef BUTTON1_RELEASED
- GEN_MEVENT(BUTTON1_RELEASED);
- all1 |= BUTTON1_RELEASED;
-#endif
-#ifdef BUTTON1_PRESSED
- GEN_MEVENT(BUTTON1_PRESSED);
- all1 |= BUTTON1_PRESSED;
-#endif
-#ifdef BUTTON1_CLICKED
- GEN_MEVENT(BUTTON1_CLICKED);
- all1 |= BUTTON1_CLICKED;
-#endif
-#ifdef BUTTON1_DOUBLE_CLICKED
- GEN_MEVENT(BUTTON1_DOUBLE_CLICKED);
- all1 |= BUTTON1_DOUBLE_CLICKED;
-#endif
-#ifdef BUTTON1_TRIPLE_CLICKED
- GEN_MEVENT(BUTTON1_TRIPLE_CLICKED);
- all1 |= BUTTON1_TRIPLE_CLICKED;
-#endif
+ {
+ fprintf(fp, "-- Generated by the C program %s (source %s).\n",
+ my_program_invocation_name,
+ __FILE__);
+ }
+ fprintf(fp, "-- Do not edit this file directly.\n");
+ fprintf(fp, "-- The values provided here may vary on your system.\n");
+ fprintf(fp, "\n");
+ fprintf(fp, "with System;\n");
+ fprintf(fp, "package Terminal_Interface.Curses_Constants is\n");
+ fprintf(fp, " pragma Pure;\n");
+ fprintf(fp, "\n");
+
+ fprintf(fp, " DFT_ARG_SUFFIX : constant String := \"%s\";\n", argv[1]);
+ fprintf(fp,
+ " Bit_Order : constant System.Bit_Order := System.%s_Order_First;\n",
+ little_endian ? "Low" : "High");
+ print_size_of(fp, "Sizeof_Bool", 8 * sizeof(bool));
+
+ PRINT_NAMED_CONSTANT(OK);
+ PRINT_NAMED_CONSTANT(ERR);
+ fprintf(fp,
+ " pragma Warnings (Off); -- redefinition of Standard.True and False\n");
+ PRINT_NAMED_CONSTANT(TRUE);
+ PRINT_NAMED_CONSTANT(FALSE);
+ fprintf(fp, " pragma Warnings (On);\n");
+
+ print_comment(fp, "Version of the ncurses library from extensions(3NCURSES)");
+ PRINT_NAMED_CONSTANT(NCURSES_VERSION_MAJOR);
+ PRINT_NAMED_CONSTANT(NCURSES_VERSION_MINOR);
+ fprintf(fp, " Version : constant String := \"%d.%d\";\n",
+ NCURSES_VERSION_MAJOR, NCURSES_VERSION_MINOR);
+
+ print_comment(fp, "Character non-color attributes from attr(3NCURSES)");
+ fprintf(fp, " -- attr_t and chtype may be signed in C.\n");
+ fprintf(fp, " type attr_t is mod 2 ** %lu;\n", (long unsigned)(8 * sizeof(attr_t)));
+ PRINT_NAMED_BITMASK(attr_t, A_CHARTEXT);
+ PRINT_NAMED_BITMASK(attr_t, A_COLOR);
+ PRINT_BITMASK(attr_t, "Attr", A_ATTRIBUTES & ~A_COLOR);
+ PRINT_NAMED_BITMASK(attr_t, A_STANDOUT);
+ PRINT_NAMED_BITMASK(attr_t, A_UNDERLINE);
+ PRINT_NAMED_BITMASK(attr_t, A_REVERSE);
+ PRINT_NAMED_BITMASK(attr_t, A_BLINK);
+ PRINT_NAMED_BITMASK(attr_t, A_DIM);
+ PRINT_NAMED_BITMASK(attr_t, A_BOLD);
+ PRINT_NAMED_BITMASK(attr_t, A_PROTECT);
+ PRINT_NAMED_BITMASK(attr_t, A_INVIS);
+ PRINT_NAMED_BITMASK(attr_t, A_ALTCHARSET);
+ PRINT_NAMED_BITMASK(attr_t, A_HORIZONTAL);
+ PRINT_NAMED_BITMASK(attr_t, A_LEFT);
+ PRINT_NAMED_BITMASK(attr_t, A_LOW);
+ PRINT_NAMED_BITMASK(attr_t, A_RIGHT);
+ PRINT_NAMED_BITMASK(attr_t, A_TOP);
+ PRINT_NAMED_BITMASK(attr_t, A_VERTICAL);
+ print_size_of(fp, "chtype_Size", 8 * sizeof(chtype));
+
+ print_comment(fp, "predefined color numbers from color(3NCURSES)");
+ PRINT_NAMED_CONSTANT(COLOR_BLACK);
+ PRINT_NAMED_CONSTANT(COLOR_RED);
+ PRINT_NAMED_CONSTANT(COLOR_GREEN);
+ PRINT_NAMED_CONSTANT(COLOR_YELLOW);
+ PRINT_NAMED_CONSTANT(COLOR_BLUE);
+ PRINT_NAMED_CONSTANT(COLOR_MAGENTA);
+ PRINT_NAMED_CONSTANT(COLOR_CYAN);
+ PRINT_NAMED_CONSTANT(COLOR_WHITE);
+
+ print_comment(fp, "ETI return codes from ncurses.h");
+ PRINT_NAMED_CONSTANT(E_OK);
+ PRINT_NAMED_CONSTANT(E_SYSTEM_ERROR);
+ PRINT_NAMED_CONSTANT(E_BAD_ARGUMENT);
+ PRINT_NAMED_CONSTANT(E_POSTED);
+ PRINT_NAMED_CONSTANT(E_CONNECTED);
+ PRINT_NAMED_CONSTANT(E_BAD_STATE);
+ PRINT_NAMED_CONSTANT(E_NO_ROOM);
+ PRINT_NAMED_CONSTANT(E_NOT_POSTED);
+ PRINT_NAMED_CONSTANT(E_UNKNOWN_COMMAND);
+ PRINT_NAMED_CONSTANT(E_NO_MATCH);
+ PRINT_NAMED_CONSTANT(E_NOT_SELECTABLE);
+ PRINT_NAMED_CONSTANT(E_NOT_CONNECTED);
+ PRINT_NAMED_CONSTANT(E_REQUEST_DENIED);
+ PRINT_NAMED_CONSTANT(E_INVALID_FIELD);
+ PRINT_NAMED_CONSTANT(E_CURRENT);
+
+ print_comment(fp, "Input key codes not defined in any ncurses manpage");
+ PRINT_NAMED_CONSTANT(KEY_MIN);
+ PRINT_NAMED_CONSTANT(KEY_MAX);
+#ifdef KEY_CODE_YES
+ PRINT_NAMED_CONSTANT(KEY_CODE_YES);
+#endif
+
+ print_comment(fp, "Input key codes from getch(3NCURSES)");
+ PRINT_NAMED_CONSTANT(KEY_BREAK);
+ PRINT_NAMED_CONSTANT(KEY_DOWN);
+ PRINT_NAMED_CONSTANT(KEY_UP);
+ PRINT_NAMED_CONSTANT(KEY_LEFT);
+ PRINT_NAMED_CONSTANT(KEY_RIGHT);
+ PRINT_NAMED_CONSTANT(KEY_HOME);
+ PRINT_NAMED_CONSTANT(KEY_BACKSPACE);
+ PRINT_NAMED_CONSTANT(KEY_F0);
+#define PRINT_NAMED_FUNC_KEY(name) print_constant(fp, "KEY_F"#name, KEY_F(name))
+ PRINT_NAMED_FUNC_KEY(1);
+ PRINT_NAMED_FUNC_KEY(2);
+ PRINT_NAMED_FUNC_KEY(3);
+ PRINT_NAMED_FUNC_KEY(4);
+ PRINT_NAMED_FUNC_KEY(5);
+ PRINT_NAMED_FUNC_KEY(6);
+ PRINT_NAMED_FUNC_KEY(7);
+ PRINT_NAMED_FUNC_KEY(8);
+ PRINT_NAMED_FUNC_KEY(9);
+ PRINT_NAMED_FUNC_KEY(10);
+ PRINT_NAMED_FUNC_KEY(11);
+ PRINT_NAMED_FUNC_KEY(12);
+ PRINT_NAMED_FUNC_KEY(13);
+ PRINT_NAMED_FUNC_KEY(14);
+ PRINT_NAMED_FUNC_KEY(15);
+ PRINT_NAMED_FUNC_KEY(16);
+ PRINT_NAMED_FUNC_KEY(17);
+ PRINT_NAMED_FUNC_KEY(18);
+ PRINT_NAMED_FUNC_KEY(19);
+ PRINT_NAMED_FUNC_KEY(20);
+ PRINT_NAMED_FUNC_KEY(21);
+ PRINT_NAMED_FUNC_KEY(22);
+ PRINT_NAMED_FUNC_KEY(23);
+ PRINT_NAMED_FUNC_KEY(24);
+ PRINT_NAMED_CONSTANT(KEY_DL);
+ PRINT_NAMED_CONSTANT(KEY_IL);
+ PRINT_NAMED_CONSTANT(KEY_DC);
+ PRINT_NAMED_CONSTANT(KEY_IC);
+ PRINT_NAMED_CONSTANT(KEY_EIC);
+ PRINT_NAMED_CONSTANT(KEY_CLEAR);
+ PRINT_NAMED_CONSTANT(KEY_EOS);
+ PRINT_NAMED_CONSTANT(KEY_EOL);
+ PRINT_NAMED_CONSTANT(KEY_SF);
+ PRINT_NAMED_CONSTANT(KEY_SR);
+ PRINT_NAMED_CONSTANT(KEY_NPAGE);
+ PRINT_NAMED_CONSTANT(KEY_PPAGE);
+ PRINT_NAMED_CONSTANT(KEY_STAB);
+ PRINT_NAMED_CONSTANT(KEY_CTAB);
+ PRINT_NAMED_CONSTANT(KEY_CATAB);
+ PRINT_NAMED_CONSTANT(KEY_ENTER);
+ PRINT_NAMED_CONSTANT(KEY_SRESET);
+ PRINT_NAMED_CONSTANT(KEY_RESET);
+ PRINT_NAMED_CONSTANT(KEY_PRINT);
+ PRINT_NAMED_CONSTANT(KEY_LL);
+ PRINT_NAMED_CONSTANT(KEY_A1);
+ PRINT_NAMED_CONSTANT(KEY_A3);
+ PRINT_NAMED_CONSTANT(KEY_B2);
+ PRINT_NAMED_CONSTANT(KEY_C1);
+ PRINT_NAMED_CONSTANT(KEY_C3);
+ PRINT_NAMED_CONSTANT(KEY_BTAB);
+ PRINT_NAMED_CONSTANT(KEY_BEG);
+ PRINT_NAMED_CONSTANT(KEY_CANCEL);
+ PRINT_NAMED_CONSTANT(KEY_CLOSE);
+ PRINT_NAMED_CONSTANT(KEY_COMMAND);
+ PRINT_NAMED_CONSTANT(KEY_COPY);
+ PRINT_NAMED_CONSTANT(KEY_CREATE);
+ PRINT_NAMED_CONSTANT(KEY_END);
+ PRINT_NAMED_CONSTANT(KEY_EXIT);
+ PRINT_NAMED_CONSTANT(KEY_FIND);
+ PRINT_NAMED_CONSTANT(KEY_HELP);
+ PRINT_NAMED_CONSTANT(KEY_MARK);
+ PRINT_NAMED_CONSTANT(KEY_MESSAGE);
+ PRINT_NAMED_CONSTANT(KEY_MOVE);
+ PRINT_NAMED_CONSTANT(KEY_NEXT);
+ PRINT_NAMED_CONSTANT(KEY_OPEN);
+ PRINT_NAMED_CONSTANT(KEY_OPTIONS);
+ PRINT_NAMED_CONSTANT(KEY_PREVIOUS);
+ PRINT_NAMED_CONSTANT(KEY_REDO);
+ PRINT_NAMED_CONSTANT(KEY_REFERENCE);
+ PRINT_NAMED_CONSTANT(KEY_REFRESH);
+ PRINT_NAMED_CONSTANT(KEY_REPLACE);
+ PRINT_NAMED_CONSTANT(KEY_RESTART);
+ PRINT_NAMED_CONSTANT(KEY_RESUME);
+ PRINT_NAMED_CONSTANT(KEY_SAVE);
+ PRINT_NAMED_CONSTANT(KEY_SBEG);
+ PRINT_NAMED_CONSTANT(KEY_SCANCEL);
+ PRINT_NAMED_CONSTANT(KEY_SCOMMAND);
+ PRINT_NAMED_CONSTANT(KEY_SCOPY);
+ PRINT_NAMED_CONSTANT(KEY_SCREATE);
+ PRINT_NAMED_CONSTANT(KEY_SDC);
+ PRINT_NAMED_CONSTANT(KEY_SDL);
+ PRINT_NAMED_CONSTANT(KEY_SELECT);
+ PRINT_NAMED_CONSTANT(KEY_SEND);
+ PRINT_NAMED_CONSTANT(KEY_SEOL);
+ PRINT_NAMED_CONSTANT(KEY_SEXIT);
+ PRINT_NAMED_CONSTANT(KEY_SFIND);
+ PRINT_NAMED_CONSTANT(KEY_SHELP);
+ PRINT_NAMED_CONSTANT(KEY_SHOME);
+ PRINT_NAMED_CONSTANT(KEY_SIC);
+ PRINT_NAMED_CONSTANT(KEY_SLEFT);
+ PRINT_NAMED_CONSTANT(KEY_SMESSAGE);
+ PRINT_NAMED_CONSTANT(KEY_SMOVE);
+ PRINT_NAMED_CONSTANT(KEY_SNEXT);
+ PRINT_NAMED_CONSTANT(KEY_SOPTIONS);
+ PRINT_NAMED_CONSTANT(KEY_SPREVIOUS);
+ PRINT_NAMED_CONSTANT(KEY_SPRINT);
+ PRINT_NAMED_CONSTANT(KEY_SREDO);
+ PRINT_NAMED_CONSTANT(KEY_SREPLACE);
+ PRINT_NAMED_CONSTANT(KEY_SRIGHT);
+ PRINT_NAMED_CONSTANT(KEY_SRSUME);
+ PRINT_NAMED_CONSTANT(KEY_SSAVE);
+ PRINT_NAMED_CONSTANT(KEY_SSUSPEND);
+ PRINT_NAMED_CONSTANT(KEY_SUNDO);
+ PRINT_NAMED_CONSTANT(KEY_SUSPEND);
+ PRINT_NAMED_CONSTANT(KEY_UNDO);
+ PRINT_NAMED_CONSTANT(KEY_MOUSE);
+ PRINT_NAMED_CONSTANT(KEY_RESIZE);
+
+ print_comment(fp, "alternate character codes (ACS) from addch(3NCURSES)");
+#define PRINT_ACS(name) print_size_of (fp, #name, (size_t)(&name - &acs_map[0]))
+ PRINT_ACS(ACS_ULCORNER);
+ PRINT_ACS(ACS_LLCORNER);
+ PRINT_ACS(ACS_URCORNER);
+ PRINT_ACS(ACS_LRCORNER);
+ PRINT_ACS(ACS_LTEE);
+ PRINT_ACS(ACS_RTEE);
+ PRINT_ACS(ACS_BTEE);
+ PRINT_ACS(ACS_TTEE);
+ PRINT_ACS(ACS_HLINE);
+ PRINT_ACS(ACS_VLINE);
+ PRINT_ACS(ACS_PLUS);
+ PRINT_ACS(ACS_S1);
+ PRINT_ACS(ACS_S9);
+ PRINT_ACS(ACS_DIAMOND);
+ PRINT_ACS(ACS_CKBOARD);
+ PRINT_ACS(ACS_DEGREE);
+ PRINT_ACS(ACS_PLMINUS);
+ PRINT_ACS(ACS_BULLET);
+ PRINT_ACS(ACS_LARROW);
+ PRINT_ACS(ACS_RARROW);
+ PRINT_ACS(ACS_DARROW);
+ PRINT_ACS(ACS_UARROW);
+ PRINT_ACS(ACS_BOARD);
+ PRINT_ACS(ACS_LANTERN);
+ PRINT_ACS(ACS_BLOCK);
+ PRINT_ACS(ACS_S3);
+ PRINT_ACS(ACS_S7);
+ PRINT_ACS(ACS_LEQUAL);
+ PRINT_ACS(ACS_GEQUAL);
+ PRINT_ACS(ACS_PI);
+ PRINT_ACS(ACS_NEQUAL);
+ PRINT_ACS(ACS_STERLING);
+
+ print_comment(fp, "Menu_Options from opts(3MENU)");
+ PRINT_NAMED_BITMASK(Menu_Options, O_ONEVALUE);
+ PRINT_NAMED_BITMASK(Menu_Options, O_SHOWDESC);
+ PRINT_NAMED_BITMASK(Menu_Options, O_ROWMAJOR);
+ PRINT_NAMED_BITMASK(Menu_Options, O_IGNORECASE);
+ PRINT_NAMED_BITMASK(Menu_Options, O_SHOWMATCH);
+ PRINT_NAMED_BITMASK(Menu_Options, O_NONCYCLIC);
+ print_size_of(fp, "Menu_Options_Size", 8 * sizeof(Menu_Options));
+
+ print_comment(fp, "Item_Options from menu_opts(3MENU)");
+ PRINT_NAMED_BITMASK(Item_Options, O_SELECTABLE);
+ print_size_of(fp, "Item_Options_Size", 8 * sizeof(Item_Options));
+
+ print_comment(fp, "Field_Options from field_opts(3FORM)");
+ PRINT_NAMED_BITMASK(Field_Options, O_VISIBLE);
+ PRINT_NAMED_BITMASK(Field_Options, O_ACTIVE);
+ PRINT_NAMED_BITMASK(Field_Options, O_PUBLIC);
+ PRINT_NAMED_BITMASK(Field_Options, O_EDIT);
+ PRINT_NAMED_BITMASK(Field_Options, O_WRAP);
+ PRINT_NAMED_BITMASK(Field_Options, O_BLANK);
+ PRINT_NAMED_BITMASK(Field_Options, O_AUTOSKIP);
+ PRINT_NAMED_BITMASK(Field_Options, O_NULLOK);
+ PRINT_NAMED_BITMASK(Field_Options, O_PASSOK);
+ PRINT_NAMED_BITMASK(Field_Options, O_STATIC);
+ print_size_of(fp, "Field_Options_Size", 8 * sizeof(Field_Options));
+
+ print_comment(fp, "Field_Options from opts(3FORM)");
+ PRINT_NAMED_BITMASK(Field_Options, O_NL_OVERLOAD);
+ PRINT_NAMED_BITMASK(Field_Options, O_BS_OVERLOAD);
+ /* Field_Options_Size is defined below */
+
+ print_comment(fp, "MEVENT structure from mouse(3NCURSES)");
+ STRUCT_OFFSET(MEVENT, id);
+ STRUCT_OFFSET(MEVENT, x);
+ STRUCT_OFFSET(MEVENT, y);
+ STRUCT_OFFSET(MEVENT, z);
+ STRUCT_OFFSET(MEVENT, bstate);
+ print_size_of(fp, "MEVENT_Size", 8 * sizeof(MEVENT));
+
+ print_comment(fp, "mouse events from mouse(3NCURSES)");
+ {
+ mmask_t all_events;
+
+#define PRINT_MOUSE_EVENT(event) \
+ print_constant (fp, #event, event); \
+ all_events |= event
+
+ all_events = 0;
+ PRINT_MOUSE_EVENT(BUTTON1_RELEASED);
+ PRINT_MOUSE_EVENT(BUTTON1_PRESSED);
+ PRINT_MOUSE_EVENT(BUTTON1_CLICKED);
+ PRINT_MOUSE_EVENT(BUTTON1_DOUBLE_CLICKED);
+ PRINT_MOUSE_EVENT(BUTTON1_TRIPLE_CLICKED);