1 /* 2 * ui.h 3 * 4 * user interface interface 5 */ 6 7 /* $Id: ui.h,v 1.11 2000/06/29 01:06:05 nyef Exp $ */ 8 9 #ifndef UI_H 10 #define UI_H 11 12 #include "types.h" 13 14 /* debug console interface */ 15 16 void deb_printf(const char *fmt, ...); 17 18 19 /* timeslicer interface */ 20 21 void set_timeslice(void (*proc)(void *), void *data); 22 void unset_timeslice(void); 23 24 25 /* shutdown callback */ 26 27 typedef void (*shutdown_t)(void); 28 extern shutdown_t dn_shutdown; 29 30 31 /* joypad interface */ 32 33 /* 34 * joypad buttons are: UP, DOWN, LEFT, RIGHT, whatever, 35 * START (opt), SELECT (opt) 36 */ 37 38 struct joypad_button_template { 39 int num_buttons; 40 unsigned long buttons[0]; 41 }; 42 43 struct joypad { 44 const struct joypad_button_template *button_template; 45 unsigned long data; 46 }; 47 48 int ui_register_joypad(struct joypad *pad); 49 void ui_update_joypad(struct joypad *pad); 50 51 /* keypad interface */ 52 53 struct keypad { 54 u16 data; 55 }; 56 57 int keypad_register(struct keypad *pad); 58 void keypad_update(struct keypad *pad); 59 60 #define KPD_0 0x0001 61 #define KPD_1 0x0002 62 #define KPD_2 0x0004 63 #define KPD_3 0x0008 64 #define KPD_4 0x0010 65 #define KPD_5 0x0020 66 #define KPD_6 0x0040 67 #define KPD_7 0x0080 68 #define KPD_8 0x0100 69 #define KPD_9 0x0200 70 #define KPD_STAR 0x0400 71 #define KPD_HASH 0x0800 72 #define KPD_A 0x1000 /* Unused */ 73 #define KPD_B 0x2000 /* Unused */ 74 #define KPD_C 0x4000 /* Unused */ 75 #define KPD_D 0x8000 /* Unused */ 76 77 #endif /* UI_H */ 78 79 /* 80 * $Log: ui.h,v $ 81 * Revision 1.11 2000/06/29 01:06:05 nyef 82 * moved menu interface out from ui.h to menu.h 83 * 84 * Revision 1.10 2000/06/29 00:57:16 nyef 85 * fixed redundant include guards (not supposed to start with underbars) 86 * 87 * Revision 1.9 2000/06/25 19:22:47 nyef 88 * added ui_{en,dis}able_item() for controling menu items 89 * 90 * Revision 1.8 2000/06/25 18:57:19 nyef 91 * added support for parameters with menu callbacks 92 * added support for changing the label on a menu 93 * 94 * Revision 1.7 2000/06/25 17:20:14 nyef 95 * added per-driver menu interface 96 * 97 * Revision 1.6 2000/05/07 00:24:12 nyef 98 * changed joypad interface to not break on C++ compilers 99 * 100 * Revision 1.5 2000/01/01 03:22:52 nyef 101 * added preliminary keypad interface 102 * 103 * Revision 1.4 1999/06/05 02:42:04 nyef 104 * added new joypad interface 105 * 106 * Revision 1.3 1999/04/17 20:11:27 nyef 107 * changed shutdown() to dn_shutdown(). 108 * 109 * Revision 1.2 1998/12/21 02:58:13 nyef 110 * added a shutdown callback. 111 * 112 * Revision 1.1 1998/08/02 04:13:25 nyef 113 * Initial revision 114 * 115 */ 116