aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/menus.h
diff options
context:
space:
mode:
authorPaul Gilbert2014-12-30 22:50:24 -1000
committerPaul Gilbert2014-12-30 22:50:24 -1000
commit9506635bad402d58886cc9a47512871b321a10a2 (patch)
tree28e5c8ae598df25dc16770aca56b721f8225dd25 /engines/xeen/menus.h
parentfb47ec9627937fe5031f20d16c175e5a12b5dfe2 (diff)
downloadscummvm-rg350-9506635bad402d58886cc9a47512871b321a10a2.tar.gz
scummvm-rg350-9506635bad402d58886cc9a47512871b321a10a2.tar.bz2
scummvm-rg350-9506635bad402d58886cc9a47512871b321a10a2.zip
XEEN: Implemented Window functionality
Diffstat (limited to 'engines/xeen/menus.h')
-rw-r--r--engines/xeen/menus.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/engines/xeen/menus.h b/engines/xeen/menus.h
index 497c193f65..774c7cfcb9 100644
--- a/engines/xeen/menus.h
+++ b/engines/xeen/menus.h
@@ -33,8 +33,14 @@ namespace Xeen {
class DialogButton {
public:
Common::Rect _bounds;
- int _d;
- int _i;
+ SpriteResource *_sprites;
+ char _c;
+ bool _d;
+
+ DialogButton(const Common::Rect &bounds, char c, SpriteResource *sprites, bool d) :
+ _bounds(bounds), _c(c), _sprites(sprites), _d(d) {}
+
+ DialogButton() : _c('\0'), _sprites(nullptr), _d(false) {}
};
class Dialog {
@@ -53,6 +59,8 @@ public:
void clearButtons();
void restoreButtons();
+
+ void addButton(const Common::Rect &bounds, char c, SpriteResource *sprites, bool d);
};
class OptionsMenu: public Dialog {
@@ -68,6 +76,10 @@ protected:
virtual void showTitles1(const Common::String &title);
virtual void showTitles2();
+
+ virtual void setupButtons(SpriteResource *buttons);
+
+ virtual void openWindow() {}
public:
static void show(XeenEngine *vm);
};
@@ -97,6 +109,10 @@ protected:
virtual void setBackground();
virtual void showTitles2() {}
+
+ virtual void setupButtons(SpriteResource *buttons);
+
+ virtual void openWindow();
public:
WorldOptionsMenu(XeenEngine *vm) : DarkSideOptionsMenu(vm) {}
};