event.h
1 /* vim: set tabstop=3 expandtab: 2 ** 3 ** Nofrendo (c) 1998-2000 Matthew Conte (matt@conte.com) 4 ** 5 ** 6 ** This program is free software; you can redistribute it and/or 7 ** modify it under the terms of version 2 of the GNU Library General 8 ** Public License as published by the Free Software Foundation. 9 ** 10 ** This program is distributed in the hope that it will be useful, 11 ** but WITHOUT ANY WARRANTY; without even the implied warranty of 12 ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 ** Library General Public License for more details. To obtain a 14 ** copy of the GNU Library General Public License, write to the Free 15 ** Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 ** 17 ** Any permitted reproduction of these routines, in whole or in part, 18 ** must bear this legend. 19 ** 20 ** 21 ** event.h 22 ** 23 ** OS-independent event handling 24 ** $Id: event.h,v 1.2 2001/04/27 14:37:11 neil Exp $ 25 */ 26 27 #ifndef _EVENT_H_ 28 #define _EVENT_H_ 29 30 #include "nofrendo.h" 31 32 enum 33 { 34 event_none = 0, 35 event_quit, 36 event_insert, 37 event_eject, 38 event_togglepause, 39 event_soft_reset, 40 event_hard_reset, 41 event_snapshot, 42 event_toggle_frameskip, 43 /* saves */ 44 event_state_save, 45 event_state_load, 46 event_state_slot_0, 47 event_state_slot_1, 48 event_state_slot_2, 49 event_state_slot_3, 50 event_state_slot_4, 51 event_state_slot_5, 52 event_state_slot_6, 53 event_state_slot_7, 54 event_state_slot_8, 55 event_state_slot_9, 56 /* GUI */ 57 event_gui_toggle_oam, 58 event_gui_toggle_wave, 59 event_gui_toggle_pattern, 60 event_gui_pattern_color_up, 61 event_gui_pattern_color_down, 62 event_gui_toggle_fps, 63 event_gui_display_info, 64 event_gui_toggle, 65 /* sound */ 66 event_toggle_channel_0, 67 event_toggle_channel_1, 68 event_toggle_channel_2, 69 event_toggle_channel_3, 70 event_toggle_channel_4, 71 event_toggle_channel_5, 72 event_set_filter_0, 73 event_set_filter_1, 74 event_set_filter_2, 75 /* picture */ 76 event_toggle_sprites, 77 event_palette_hue_up, 78 event_palette_hue_down, 79 event_palette_tint_up, 80 event_palette_tint_down, 81 event_palette_set_default, 82 event_palette_set_shady, 83 /* joypad 1 */ 84 event_joypad1_a, 85 event_joypad1_b, 86 event_joypad1_start, 87 event_joypad1_select, 88 event_joypad1_up, 89 event_joypad1_down, 90 event_joypad1_left, 91 event_joypad1_right, 92 /* joypad 2 */ 93 event_joypad2_a, 94 event_joypad2_b, 95 event_joypad2_start, 96 event_joypad2_select, 97 event_joypad2_up, 98 event_joypad2_down, 99 event_joypad2_left, 100 event_joypad2_right, 101 /* NSF control */ 102 event_songup, 103 event_songdown, 104 event_startsong, 105 /* OS specific */ 106 event_osd_1, 107 event_osd_2, 108 event_osd_3, 109 event_osd_4, 110 event_osd_5, 111 event_osd_6, 112 event_osd_7, 113 event_osd_8, 114 event_osd_9, 115 /* last */ 116 event_last 117 }; 118 119 typedef void (*event_t)(int code); 120 121 extern void event_init(void); 122 extern void event_set(int index, event_t handler); 123 extern event_t event_get(int index); 124 extern void event_set_system(system_t type); 125 126 #endif /* !_EVENT_H_ */ 127 128 /* 129 ** $Log: event.h,v $ 130 ** Revision 1.2 2001/04/27 14:37:11 neil 131 ** wheeee 132 ** 133 ** Revision 1.1.1.1 2001/04/27 07:03:54 neil 134 ** initial 135 ** 136 ** Revision 1.6 2000/11/01 14:15:35 matt 137 ** multi-system event system, or whatever 138 ** 139 ** Revision 1.5 2000/10/10 13:03:54 matt 140 ** Mr. Clean makes a guest appearance 141 ** 142 ** Revision 1.4 2000/07/31 04:28:46 matt 143 ** one million cleanups 144 ** 145 ** Revision 1.3 2000/07/26 21:36:13 neil 146 ** Big honkin' change -- see the mailing list 147 ** 148 ** Revision 1.2 2000/07/21 04:27:40 matt 149 ** don't mind me... 150 ** 151 ** Revision 1.1 2000/07/21 04:26:38 matt 152 ** initial revision 153 ** 154 */