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
28namespace M4 {
29
30enum CursorChange {
31 CURSCHANGE_NONE, CURSCHANGE_NEXT, CURSCHANGE_PREVIOUS, CURSCHANGE_TOGGLE
32};
33
34struct Hotkeys {
35private:
36 static Dialog *_teleportDialog;
37 static Dialog *_changeGlobalDialog;
38 static int _globalToChange;
39
40private:
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
89protected:
90 virtual void adv_enable_system_hot_keys();
91
92public:
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: database.h:28
Definition: gui_dialog.h:38
Definition: hotkeys.h:34