ScummVM API documentation
hotkeys.h
1 
2 /* ScummVM - Graphic Adventure Engine
3  *
4  * ScummVM is the legal property of its developers, whose names
5  * are too numerous to list here. Please refer to the COPYRIGHT
6  * file distributed with this source distribution.
7  *
8  * This program is free software: you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation, either version 3 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program. If not, see <http://www.gnu.org/licenses/>.
20  *
21  */
22 
23 #ifndef M4_GUI_HOTKEYS_H
24 #define M4_GUI_HOTKEYS_H
25 
26 #include "m4/m4_types.h"
27 #include "m4/gui/gui_dialog.h"
28 
29 namespace M4 {
30 
31 enum CursorChange {
32  CURSCHANGE_NONE, CURSCHANGE_NEXT, CURSCHANGE_PREVIOUS, CURSCHANGE_TOGGLE
33 };
34 
35 struct Hotkeys {
36 private:
37  static Dialog *_teleportDialog;
38  static Dialog *_changeGlobalDialog;
39  static int _globalToChange;
40 
41 private:
42  static void exit_program(void *, void *);
43  static void adv_hyperwalk_to_final_destination(void *a, void *b);
44  static void saveScreenshot(void *, void *);
45  static void debug_memory_next_column(void *, void *);
46  static void debug_memory_prev_column(void *, void *);
47  static void debug_memory_last_column(void *, void *);
48 
49  static void player_step_up(void *, void *);
50  static void player_step_down(void *, void *);
51  static void player_step_left(void *, void *);
52  static void player_step_right(void *, void *);
53  static void player_jump_up(void *, void *);
54  static void player_jump_down(void *, void *);
55  static void player_jump_left(void *, void *);
56  static void player_jump_right(void *, void *);
57  static void player_step(int xDelta, int yDelta);
58 
59  static void term_next_mode(void *, void *);
60 
61  static void camera_step_left(void *, void *);
62  static void camera_step_right(void *, void *);
63  static void camera_jump_left(void *, void *);
64  static void camera_jump_right(void *, void *);
65 
66  static void toggle_inv_visible(void *, void *);
67  static void toggle_commands_allowed(void *, void *);
68  static void debug_memory_dumpcore_to_disk(void *, void *);
69  static void dbg_mem_set_search(void *, void *);
70 
71  static void toggleInfoDialog(void *, void *);
72  static void other_cheat_with_inventory_objects(void *, void *); // was O
73  static void debug_memory_toggle(void *, void *);
74  static void dbg_pal_toggle(void *, void *);
75  static void f_io_report(void *, void *);
76  static void scale_editor_toggle(void *, void *);
77 
78  static void teleport(void *, void *);
79  static void teleportOk(void *, void *);
80  static void teleportCancel(void *, void *);
81 
82  static void changeGlobal(void *, void *);
83  static void changeGlobalCancel(void *, void *);
84  static void changeGlobalChange(void *, void *);
85  static void changeGlobalDoChange(void *, void *);
86 
87  static void paint_walk_codes(void *, void *);
88  static void pal_override(void *a = nullptr, void *b = nullptr);
89 
90 protected:
91  virtual void adv_enable_system_hot_keys();
92 
93 public:
94  Hotkeys();
95  virtual ~Hotkeys() {}
96 
97  virtual void add_hot_keys();
98  void disable_hot_keys();
99 
100  static void saveGame(void *, void *);
101  static void loadGame(void *, void *);
102 
103  virtual void toggle_through_cursors(CursorChange cursChange = CURSCHANGE_NEXT) = 0;
104 };
105 
106 } // End of namespace M4
107 
108 #endif
Definition: hotkeys.h:35
Definition: database.h:28
Definition: gui_dialog.h:38