Changeset 33
- Timestamp:
- 04/08/07 00:31:48 (2 years ago)
- Files:
-
- trunk/src/birth.c (modified) (1 diff)
- trunk/src/cmd4.c (modified) (12 diffs)
- trunk/src/externs.h (modified) (1 diff)
- trunk/src/squelch.c (modified) (3 diffs)
- trunk/src/ui.c (modified) (10 diffs)
- trunk/src/ui.h (modified) (7 diffs)
- trunk/src/util.c (modified) (4 diffs)
- trunk/src/z-term.c (modified) (4 diffs)
- trunk/src/z-term.h (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/birth.c
r30 r33 792 792 while(i < N_ELEMENTS(menu_defs)) 793 793 { 794 key_eventcx;794 event_type cx; 795 795 int cursor = *values[i]; 796 796 menu.flags = MN_NO_TAGS | MN_DBL_TAP; trunk/src/cmd4.c
r32 r33 170 170 byte attr_top, char char_left); 171 171 172 static bool visual_mode_command( key_eventke, bool *visual_list_ptr,172 static bool visual_mode_command(event_type ke, bool *visual_list_ptr, 173 173 int height, int width, 174 174 byte *attr_top_ptr, char *char_left_ptr, … … 460 460 /* with "pop-up menu" for lore */ 461 461 while((!flag) && (grp_cnt)) { 462 key_eventke, ke0;462 event_type ke, ke0; 463 463 if(redraw) { 464 464 region_erase(&title_area); … … 768 768 * Do visual mode command -- Change symbols 769 769 */ 770 static bool visual_mode_command( key_eventke, bool *visual_list_ptr,770 static bool visual_mode_command(event_type ke, bool *visual_list_ptr, 771 771 int height, int width, 772 772 byte *attr_top_ptr, char *char_left_ptr, … … 1662 1662 void do_cmd_change_name(void) 1663 1663 { 1664 key_eventke;1664 event_type ke; 1665 1665 1666 1666 int mode = 0; … … 1773 1773 void do_cmd_messages(void) 1774 1774 { 1775 key_eventke;1775 event_type ke; 1776 1776 1777 1777 int i, j, n, q; … … 2125 2125 for(;;) 2126 2126 { 2127 key_eventcx;2127 event_type cx; 2128 2128 cx = menu_select(menu, &cursor_pos, EVT_MOVE); 2129 2129 if (cx.type == EVT_BACK || ESCAPE == cx.key) break; … … 2158 2158 int x = 0; 2159 2159 2160 key_eventke;2160 event_type ke; 2161 2161 2162 2162 u32b old_flag[ANGBAND_TERM_MAX]; … … 2889 2889 while (1) 2890 2890 { 2891 key_eventc;2891 event_type c; 2892 2892 int evt; 2893 2893 /* Clear screen */ … … 3373 3373 while (1) 3374 3374 { 3375 key_eventkey;3375 event_type key; 3376 3376 int evt = -1; 3377 3377 Term_clear(); … … 3544 3544 while (1) 3545 3545 { 3546 key_eventkey;3546 event_type key; 3547 3547 int evt; 3548 3548 Term_clear(); … … 4034 4034 menu_layout(&option_menu, &SCREEN_REGION); 4035 4035 for(;;) { 4036 key_eventc;4036 event_type c; 4037 4037 Term_clear(); 4038 4038 c = menu_select(&option_menu, &cursor, 0); … … 4051 4051 menu_layout(&knowledge_menu, &SCREEN_REGION); 4052 4052 for(;;) { 4053 key_eventc;4053 event_type c; 4054 4054 Term_clear(); 4055 4055 c = menu_select(&knowledge_menu, &cursor, 0); trunk/src/externs.h
r32 r33 684 684 extern char anykey(void); 685 685 extern char inkey(void); 686 extern key_eventinkey_ex(void);686 extern event_type inkey_ex(void); 687 687 extern void bell(cptr reason); 688 688 extern void sound(int val); trunk/src/squelch.c
r32 r33 772 772 int sqlev = (int) arg; 773 773 int i; 774 key_eventke = {EVT_REFRESH, 0, 0, 0};774 event_type ke = {EVT_REFRESH, 0, 0, 0}; 775 775 for (i = 0; i < SQUELCH_BYTES; i++) { 776 776 if(tvals[i].squelch_bits & ( 1 << sqlev)) … … 785 785 { 786 786 int sqlev = (int) arg; 787 key_eventke = {EVT_REFRESH, 0, 0, 0};787 event_type ke = {EVT_REFRESH, 0, 0, 0}; 788 788 bool refresh = FALSE; 789 789 if((squelch_level[q_rendez.item_pos] != sqlev) && … … 866 866 region item_region = {0, 0, 20, 0}; 867 867 region command_region = {25, 0, 0, 0}; 868 key_eventke = {EVT_NONE};868 event_type ke = {EVT_NONE}; 869 869 menu_layout(&squelch_q_items, &item_region); 870 870 menu_layout(&squelch_q_menu, &command_region); trunk/src/ui.c
r32 r33 13 13 Implementation of Extremely Basic Event Model. 14 14 Limits: 15 all events are of the concrete type key_event(see z-util.h),15 all events are of the concrete type event_type (see z-util.h), 16 16 which are supposed to model simple UI actions: 17 17 - < escape > … … 23 23 24 24 There are 3 basic event-related classes: 25 The key_event.25 The event_type. 26 26 Concrete event, with at most 32 distinct types. 27 27 … … 69 69 } 70 70 71 bool region_inside(const region *loc, const key_event*key)71 bool region_inside(const region *loc, const event_type *key) 72 72 { 73 73 if ((loc->col > key->mousex) || (loc->col + loc->width <= key->mousex)) … … 92 92 void stop_event_loop() 93 93 { 94 key_eventstop = { EVT_STOP };94 event_type stop = { EVT_STOP }; 95 95 96 96 /* Stop right away! */ … … 110 110 * The first unhandled event - forever is false. 111 111 */ 112 key_event run_event_loop(event_target * target, bool forever, const key_event*start)113 { 114 key_eventke;112 event_type run_event_loop(event_target * target, bool forever, const event_type *start) 113 { 114 event_type ke; 115 115 bool handled = TRUE; 116 116 … … 297 297 }; 298 298 299 /* Simple strings */ 300 299 /* Simple strings - display and selection only */ 301 300 static void display_string(menu_type *menu, int oid, bool cursor, 302 301 int row, int col, int width) … … 531 530 menu->row_funcs->row_handler(cmd, (void *)menu->menu_data, oid)) 532 531 { 533 key_eventke;532 event_type ke; 534 533 ke.type = EVT_SELECT; 535 534 ke.key = cmd; … … 601 600 602 601 /* The menu event loop */ 603 static bool menu_handle_event(menu_type *menu, const key_event*in)602 static bool menu_handle_event(menu_type *menu, const event_type *in) 604 603 { 605 604 int n = menu->filter_count; 606 605 int *cursor = &menu->cursor; 607 key_eventout;606 event_type out; 608 607 609 608 out.key = '\xff'; … … 802 801 * Returns: an event, possibly requiring further handling. 803 802 * Return values: 804 * EVT_SELECT - success. key_event::index is set to the cursor position.803 * EVT_SELECT - success. event_type::index is set to the cursor position. 805 804 * *cursor is also set to the cursor position. 806 805 * EVT_OK - success. A command event was handled. … … 810 809 * EVT_KBRD - An unhandled keyboard event 811 810 */ 812 key_eventmenu_select(menu_type *menu, int *cursor, int no_handle)813 { 814 key_eventke;811 event_type menu_select(menu_type *menu, int *cursor, int no_handle) 812 { 813 event_type ke; 815 814 816 815 menu->cursor = *cursor; trunk/src/ui.h
r32 r33 60 60 void region_erase(const region *loc); 61 61 /* Check whether a (mouse) event is inside a region */ 62 bool region_inside(const region *loc, const key_event*key);62 bool region_inside(const region *loc, const event_type *key); 63 63 64 64 … … 73 73 74 74 /* An event handler member function */ 75 typedef bool (*handler_f)(void *object, const key_event*in);75 typedef bool (*handler_f)(void *object, const event_type *in); 76 76 77 77 /* Frees the resources for an owned event listener */ … … 110 110 111 111 void remove_listener (event_target *parent, event_listener *child); 112 key_event run_event_loop(event_target *parent, bool forever, const key_event*start);112 event_type run_event_loop(event_target *parent, bool forever, const event_type *start); 113 113 114 114 … … 209 209 210 210 /* Appearance & behavior */ 211 211 212 MN_REL_TAGS = 0x0100, /* Tags are associated with the view, not the element */ 212 213 MN_NO_TAGS = 0x0200, /* No tags -- movement key and mouse browsing only */ … … 215 216 MN_DBL_TAP = 0x1000, /* double tap for selection; single tap is cursor movement */ 216 217 MN_NO_ACT = 0x2000, /* Do not invoke the specified action; menu selection only */ 218 MN_PAGE = 0x4000, /* Use full-page scrolling rather than small increment */ 217 219 MN_NO_CURSOR = 0x8000, /* No cursor movement */ 218 220 … … 230 232 /* Skins */ 231 233 MN_SCROLL = 0x0000, /* Ordinary scrollable single-column list */ 232 MN_PAGE = 0x0001, /* Use full-page scrolling rather than small increment */233 234 MN_COLUMNS = 0x0002, /* multicolumn view */ 234 235 MN_NATIVE = 0x0003, /* Not implemented -- OS menu */ … … 333 334 * reserved commands are 0xff for selection and ESCAPE for escape. 334 335 */ 335 key_eventmenu_select(menu_type *menu, int *cursor, int no_handle);336 event_type menu_select(menu_type *menu, int *cursor, int no_handle); 336 337 337 338 /* TODO: This belongs in the VTAB */ trunk/src/util.c
r28 r33 868 868 * known not to be that macro trigger. XXX XXX XXX 869 869 */ 870 static key_eventinkey_aux(void)870 static event_type inkey_aux(void) 871 871 { 872 872 int k = 0, n, p = 0, w = 0; 873 873 874 key_eventke, ke0;874 event_type ke, ke0; 875 875 char ch; 876 876 … … 1105 1105 * control of the keyboard from the user. 1106 1106 */ 1107 key_eventinkey_ex(void)1107 event_type inkey_ex(void) 1108 1108 { 1109 1109 bool cursor_state; 1110 key_eventkk;1111 key_eventke;1110 event_type kk; 1111 event_type ke; 1112 1112 1113 1113 bool done = FALSE; … … 1343 1343 char anykey(void) 1344 1344 { 1345 key_eventke;1345 event_type ke; 1346 1346 1347 1347 /* Only accept a keypress or mouse click*/ … … 1359 1359 char inkey(void) 1360 1360 { 1361 key_eventke;1361 event_type ke; 1362 1362 1363 1363 /* Only accept a keypress */ trunk/src/z-term.c
r27 r33 1929 1929 { 1930 1930 if (!k) return (-1); 1931 key_eventke;1931 event_type ke; 1932 1932 ke.type = EVT_KBRD; 1933 1933 ke.index = 0; … … 1936 1936 } 1937 1937 1938 errr Term_event_push(const key_event*ke)1938 errr Term_event_push(const event_type *ke) 1939 1939 { 1940 1940 /* Hack -- Refuse to enqueue non-keys */ … … 1974 1974 * Remove the keypress if "take" is true. 1975 1975 */ 1976 errr Term_inkey( key_event*ch, bool wait, bool take)1976 errr Term_inkey(event_type *ch, bool wait, bool take) 1977 1977 { 1978 1978 /* Assume no key */ … … 2431 2431 2432 2432 /* Allocate the input queue */ 2433 C_MAKE(t->key_queue, t->key_size, key_event);2433 C_MAKE(t->key_queue, t->key_size, event_type); 2434 2434 2435 2435 trunk/src/z-term.h
r28 r33 85 85 86 86 87 typedef struct key_event key_event;88 89 struct key_event87 typedef struct event_type event_type; 88 89 struct event_type 90 90 { 91 91 event_class type; … … 223 223 char char_blank; 224 224 225 key_event*key_queue;225 event_type *key_queue; 226 226 227 227 u16b key_head; … … 341 341 extern errr Term_keypress(int k); 342 342 extern errr Term_key_push(int k); 343 extern errr Term_event_push(const key_event*ke);344 extern errr Term_inkey( key_event*ch, bool wait, bool take);343 extern errr Term_event_push(const event_type *ke); 344 extern errr Term_inkey(event_type *ch, bool wait, bool take); 345 345 346 346 extern errr Term_set_resize_hook(void (*hook)(void));
