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/gui/gui_dialog.h"
27 
28 namespace M4 {
29 
30 enum CursorChange {
31  CURSCHANGE_NONE, CURSCHANGE_NEXT, CURSCHANGE_PREVIOUS, CURSCHANGE_TOGGLE
32 };
33 
34 struct Hotkeys {
35 private:
36  static Dialog *_teleportDialog;
37  static Dialog *_changeGlobalDialog;
38  static int _globalToChange;
39 
40 private:
41  static void exit_program(void *, void *);
42  static void adv_hyperwalk_to_final_destination(void *a, void *b);
43  static void saveScreenshot(void *, void *);
44  static void debug_memory_next_column(void *, void *);
45  static void debug_memory_prev_column(void *, void *);
46  static void debug_memory_last_column(void *, void *);
47 
48  static void player_step_up(void *, void *);
49  static void player_step_down(void *, void *);
50  static void player_step_left(void *, void *);
51  static void player_step_right(void *, void *);
52  static void player_jump_up(void *, void *);
53  static void player_jump_down(void *, void *);
54  static void player_jump_left(void *, void *);
55  static void player_jump_right(void *, void *);
56  static void player_step(int xDelta, int yDelta);
57 
58  static void term_next_mode(void *, void *);
59 
60  static void camera_step_left(void *, void *);
61  static void camera_step_right(void *, void *);
62  static void camera_jump_left(void *, void *);
63  static void camera_jump_right(void *, void *);
64 
65  static void toggle_inv_visible(void *, void *);
66  static void toggle_commands_allowed(void *, void *);
67  static void debug_memory_dumpcore_to_disk(void *, void *);
68  static void dbg_mem_set_search(void *, void *);
69 
70  static void toggleInfoDialog(void *, void *);
71  static void other_cheat_with_inventory_objects(void *, void *); // was O
72  static void debug_memory_toggle(void *, void *);
73  static void dbg_pal_toggle(void *, void *);
74  static void f_io_report(void *, void *);
75  static void scale_editor_toggle(void *, void *);
76 
77  static void teleport(void *, void *);
78  static void teleportOk(void *, void *);
79  static void teleportCancel(void *, void *);
80 
81  static void changeGlobal(void *, void *);
82  static void changeGlobalCancel(void *, void *);
83  static void changeGlobalChange(void *, void *);
84  static void changeGlobalDoChange(void *, void *);
85 
86  static void paint_walk_codes(void *, void *);
87  static void pal_override(void *a = nullptr, void *b = nullptr);
88 
89 protected:
90  virtual void adv_enable_system_hot_keys();
91 
92 public:
93  Hotkeys();
94  virtual ~Hotkeys() {}
95 
96  virtual void add_hot_keys();
97 
98  static void saveGame(void *, void *);
99  static void loadGame(void *, void *);
100 
101  virtual void toggle_through_cursors(CursorChange cursChange = CURSCHANGE_NEXT) = 0;
102 };
103 
104 } // End of namespace M4
105 
106 #endif
Definition: hotkeys.h:34
Definition: database.h:28
Definition: gui_dialog.h:38