ScummVM API documentation
settings.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * This program is free software: you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License as published by
9 * the Free Software Foundation, either version 3 of the License, or
10 * (at your option) any later version.
11 *
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License
18 * along with this program. If not, see <http://www.gnu.org/licenses/>.
19 *
20 */
21
22#ifndef SHERLOCK_SETTINGS_H
23#define SHERLOCK_SETTINGS_H
24
25#include "common/events.h"
26#include "common/scummsys.h"
27
28#include "sherlock/sherlock.h"
29
30namespace Sherlock {
31
32class SherlockEngine;
33
34namespace Scalpel {
35
36class Settings {
37private:
38 SherlockEngine *_vm;
39
40 Settings(SherlockEngine *vm) : _vm(vm) {
41 _actionExit = kActionNone;
42 _actionMusic = kActionNone;
43 _actionPortraits = kActionNone;
44 _actionNewFontStyle = kActionNone;
45 _actionSoundEffects = kActionNone;
46 _actionWindows = kActionNone;
47 _actionAutoHelp = kActionNone;
48 _actionVoices = kActionNone;
49 _actionFade = kActionNone;
50
51 memset(_actionsIndexed, kActionNone, sizeof(_actionsIndexed));
52 }
53
54 Common::CustomEventType _actionExit;
55 Common::CustomEventType _actionMusic;
56 Common::CustomEventType _actionPortraits;
57 Common::CustomEventType _actionNewFontStyle;
58 Common::CustomEventType _actionSoundEffects;
59 Common::CustomEventType _actionWindows;
60 Common::CustomEventType _actionAutoHelp;
61 Common::CustomEventType _actionVoices;
62 Common::CustomEventType _actionFade;
63
64 Common::CustomEventType _actionsIndexed[12];
65
69 void drawInterface(bool flag);
70
74 int drawButtons(const Common::Point &pt, Common::CustomEventType action);
75
76 Common::Rect getButtonRect(int num) const;
77 Common::Point getButtonTextPoint(int num) const;
78 void makeButtonNum(int num, const Common::String &s);
79 void makeButtonNumDisabled(int num, const Common::String &s);
80 bool doesButtonExist(int num) const;
81
82public:
89 static void show(SherlockEngine *vm);
90};
91
92} // End of namespace Scalpel
93
94} // End of namespace Sherlock
95
96#endif
Definition: str.h:59
Definition: settings.h:36
static void show(SherlockEngine *vm)
Definition: sherlock.h:206
uint32 CustomEventType
Definition: events.h:212
Definition: rect.h:144
Definition: rect.h:536