ScummVM API documentation
game_menu.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_RIDDLE_GUI_GAME_MENU_H
24#define M4_RIDDLE_GUI_GAME_MENU_H
25
26#include "m4/gui/gui_menu_items.h"
27#include "m4/gui/game_menu.h"
28
29namespace M4 {
30namespace Riddle {
31namespace GUI {
32
33class GameMenu {
34private:
35 static void destroyGameMenu();
36 static void cbQuitGame(void *, void *);
37 static void cbMainMenu(void *, void *);
38 static void cbResume(void *, void *);
39 static void cbOptions(void *, void *);
40 static void cbSave(void *, void *);
41 static void cbLoad(void *, void *);
42
43public:
44 static void show(RGB8 *myPalette);
45};
46
48private:
49 static void destroyOptionsMenu();
50 static void cbGameMenu(void *, void *);
51 static void cbScrolling(M4::GUI::menuItemButton *myItem, M4::GUI::guiMenu *);
52 static void cbSetDigi(M4::GUI::menuItemHSlider *myItem, M4::GUI::guiMenu *);
53 static void cbSetMidi(M4::GUI::menuItemHSlider *myItem, M4::GUI::guiMenu *);
54
55public:
56 static void show();
57};
58
60private:
61 static void destroyMenu(bool saveMenu);
62 static bool load_Handler(M4::GUI::menuItemButton *myItem, int32 eventType,
63 int32 event, int32 x, int32 y, void **currItem);
64 static void cbCancel(M4::GUI::menuItemButton *, M4::GUI::guiMenu *myMenu);
65 static void cbSave(void *, M4::GUI::guiMenu *myMenu);
66 static void cbLoad(void *, M4::GUI::guiMenu *myMenu);
67 static void cbSlot(M4::GUI::menuItemButton *myButton, M4::GUI::guiMenu *myMenu);
68 static void cbVSlider(M4::GUI::menuItemVSlider *myItem, M4::GUI::guiMenu *myMenu);
69
70public:
71 static void show(RGB8 *myPalette, bool saveMenu);
72};
73
74class ErrorMenu {
75private:
76 static void destroyMenu();
77 static void cbDone(void *, void *);
78
79public:
80 static void show(RGB8 *myPalette);
81};
82
83extern void CreateGameMenu(RGB8 *myPalette);
84extern void CreateF2SaveMenu(RGB8 *myPalette);
85extern void CreateLoadMenu(RGB8 *myPalette);
86extern void CreateF3LoadMenu(RGB8 *myPalette);
87// Routines used by the main menu
88void CreateLoadMenuFromMain(RGB8 *myPalette);
89void CreateGameMenuFromMain(RGB8 *myPalette);
90
91} // namespace GUI
92} // namespace Riddle
93} // namespace M4
94
95#endif
Definition: game_menu.h:31
Definition: game_menu.h:74
Definition: game_menu.h:33
Definition: game_menu.h:47
Definition: game_menu.h:59
Definition: database.h:28
Definition: gui_menu_items.h:300
Definition: gui_menu_items.h:175
Definition: gui_menu_items.h:219
Definition: gui_menu_items.h:243
Definition: m4_types.h:78