aboutsummaryrefslogtreecommitdiff
path: root/gui/ThemeEval.cpp
diff options
context:
space:
mode:
authorVicent Marti2008-08-05 23:58:45 +0000
committerVicent Marti2008-08-05 23:58:45 +0000
commit4256c357912bd9c2b554c22f09a2d0304e9de9a2 (patch)
tree362c9e4b58edd3951bc3822e87c135898b77bbd3 /gui/ThemeEval.cpp
parenteb3d163439455fb941be0de73c1b3d28f3414c20 (diff)
downloadscummvm-rg350-4256c357912bd9c2b554c22f09a2d0304e9de9a2.tar.gz
scummvm-rg350-4256c357912bd9c2b554c22f09a2d0304e9de9a2.tar.bz2
scummvm-rg350-4256c357912bd9c2b554c22f09a2d0304e9de9a2.zip
Options menu layout parsing, featuring the brand new FATPOPUPS.
svn-id: r33651
Diffstat (limited to 'gui/ThemeEval.cpp')
-rw-r--r--gui/ThemeEval.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/gui/ThemeEval.cpp b/gui/ThemeEval.cpp
index e13ccc0176..e2c34d8128 100644
--- a/gui/ThemeEval.cpp
+++ b/gui/ThemeEval.cpp
@@ -157,15 +157,26 @@ void ThemeEval::addWidget(const Common::String &name, int w, int h) {
_curLayout.top()->addChild(widget);
}
-void ThemeEval::addDialog(const Common::String &name) {
+void ThemeEval::addDialog(const Common::String &name, const Common::String &overlays) {
ThemeLayout *layout = new ThemeLayoutMain();
_layouts[name] = layout;
+
+ int16 x, y;
+ uint16 w, h;
- layout->setX(0);
- layout->setY(0);
- layout->setWidth(g_system->getOverlayWidth());
- layout->setHeight(g_system->getOverlayHeight());
+ if (overlays == "screen" || overlays.empty()) {
+ x = y = 0;
+ w = g_system->getOverlayWidth();
+ h = g_system->getOverlayHeight();
+ } else if (!getWidgetData(overlays, x, y, w, h)) {
+ error("Error when loading dialog position for '%s'", overlays.c_str());
+ }
+ layout->setX(x);
+ layout->setY(y);
+ layout->setWidth(w);
+ layout->setHeight(h);
+
layout->setPadding(
getVar("Globals.Padding.Left", 0),
getVar("Globals.Padding.Right", 0),