aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/wii/options.cpp
diff options
context:
space:
mode:
authorAndre Heider2009-09-01 19:33:47 +0000
committerAndre Heider2009-09-01 19:33:47 +0000
commitcf112f9a433e98edd0e529a03bb20033fa3e15db (patch)
treeca1d165c33d64d8db7843691854a19a9f6514aa8 /backends/platform/wii/options.cpp
parenta191728945cbbfe14276140e33c74bf943b86262 (diff)
downloadscummvm-rg350-cf112f9a433e98edd0e529a03bb20033fa3e15db.tar.gz
scummvm-rg350-cf112f9a433e98edd0e529a03bb20033fa3e15db.tar.bz2
scummvm-rg350-cf112f9a433e98edd0e529a03bb20033fa3e15db.zip
Added an options dialog for some Wii specific settings.
svn-id: r43892
Diffstat (limited to 'backends/platform/wii/options.cpp')
-rw-r--r--backends/platform/wii/options.cpp116
1 files changed, 116 insertions, 0 deletions
diff --git a/backends/platform/wii/options.cpp b/backends/platform/wii/options.cpp
new file mode 100644
index 0000000000..52c29a8a24
--- /dev/null
+++ b/backends/platform/wii/options.cpp
@@ -0,0 +1,116 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ */
+
+#include "common/config-manager.h"
+#include "gui/dialog.h"
+#include "gui/TabWidget.h"
+
+#include "options.h"
+#include "gfx.h"
+
+WiiOptionsDialog::WiiOptionsDialog(const OSystem::GraphicsMode &gfxMode) :
+ Dialog(180, 120, 304, 200) {
+
+ _videoModePrefix = String("wii_video_") + gfxMode.name;
+
+ new ButtonWidget(this, 56, 160, 108, 24, "Cancel", 'c');
+ new ButtonWidget(this, 180, 160, 108, 24, "Ok", 'k');
+
+ TabWidget *tab = new TabWidget(this, 0, 0, 304, 146);
+
+ tab->addTab("Video");
+
+ new StaticTextWidget(tab, 16, 16, 128, 16,
+ "Current video mode:", Graphics::kTextAlignRight);
+ new StaticTextWidget(tab, 160, 16, 128, 16,
+ gfxMode.description, Graphics::kTextAlignLeft);
+
+ new StaticTextWidget(tab, 16, 48, 128, 16,
+ "Horizontal underscan:", Graphics::kTextAlignRight);
+ _sliderUnderscanX = new SliderWidget(tab, 160, 47, 128, 18, 'x');
+ _sliderUnderscanX->setMinValue(0);
+ _sliderUnderscanX->setMaxValue(32);
+
+ new StaticTextWidget(tab, 16, 80, 128, 16,
+ "Vertical underscan:", Graphics::kTextAlignRight);
+ _sliderUnderscanY = new SliderWidget(tab, 160, 79, 128, 18, 'y');
+ _sliderUnderscanY->setMinValue(0);
+ _sliderUnderscanY->setMaxValue(32);
+
+ load();
+}
+
+WiiOptionsDialog::~WiiOptionsDialog() {
+}
+
+void WiiOptionsDialog::handleCommand(CommandSender *sender, uint32 cmd,
+ uint32 data) {
+ switch (cmd) {
+ case 'x':
+ case 'y':
+ gfx_set_underscan(_sliderUnderscanX->getValue(),
+ _sliderUnderscanY->getValue());
+ break;
+
+ case 'k':
+ save();
+ close();
+ break;
+
+ case 'c':
+ revert();
+ close();
+ break;
+
+ default:
+ Dialog::handleCommand(sender, cmd, data);
+ break;
+ }
+}
+
+void WiiOptionsDialog::revert() {
+ gfx_set_underscan(ConfMan.getInt(_videoModePrefix + "_underscan_x",
+ Common::ConfigManager::kApplicationDomain),
+ ConfMan.getInt(_videoModePrefix + "_underscan_y",
+ Common::ConfigManager::kApplicationDomain));
+}
+
+void WiiOptionsDialog::load() {
+ int x = ConfMan.getInt(_videoModePrefix + "_underscan_x",
+ Common::ConfigManager::kApplicationDomain);
+ int y = ConfMan.getInt(_videoModePrefix + "_underscan_y",
+ Common::ConfigManager::kApplicationDomain);
+
+ _sliderUnderscanX->setValue(x);
+ _sliderUnderscanY->setValue(y);
+}
+
+void WiiOptionsDialog::save() {
+ ConfMan.setInt(_videoModePrefix + "_underscan_x",
+ _sliderUnderscanX->getValue(),
+ Common::ConfigManager::kApplicationDomain);
+ ConfMan.setInt(_videoModePrefix + "_underscan_y",
+ _sliderUnderscanY->getValue(),
+ Common::ConfigManager::kApplicationDomain);
+ ConfMan.flushToDisk();
+}
+