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 
30 namespace Sherlock {
31 
32 class SherlockEngine;
33 
34 namespace Scalpel {
35 
36 class Settings {
37 private:
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 
82 public:
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: animation.h:29
Definition: rect.h:524
uint32 CustomEventType
Definition: events.h:204
Definition: sherlock.h:206
Definition: settings.h:36
Definition: rect.h:144
static void show(SherlockEngine *vm)