aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Sandulenko2018-07-08 23:18:27 +0200
committerEugene Sandulenko2018-07-11 22:45:36 +0200
commitcd357e59d0e756de6d998ad5459a9cd500cb6e7d (patch)
tree8c678cbc97cb792cdf6c0d43c2663eab34b869db
parentddfe6c3bce672086d28363c1c90ee4be279f5539 (diff)
downloadscummvm-rg350-cd357e59d0e756de6d998ad5459a9cd500cb6e7d.tar.gz
scummvm-rg350-cd357e59d0e756de6d998ad5459a9cd500cb6e7d.tar.bz2
scummvm-rg350-cd357e59d0e756de6d998ad5459a9cd500cb6e7d.zip
PINK: Plug in autohide menu
-rw-r--r--engines/pink/director.cpp6
-rw-r--r--engines/pink/director.h1
-rw-r--r--engines/pink/pink.cpp3
3 files changed, 9 insertions, 1 deletions
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index 695ae0c4cf..98446c428e 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -81,7 +81,7 @@ Director::Director()
_wm.setScreen(&_surface);
_wm.setMode(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu);
_wm.setMenuHotzone(Common::Rect(0, 0, 640, 23));
- _wm.setMenuDelay(250);
+ _wm.setMenuDelay(250000);
_menu = _wm.addMenu();
_menu->addStaticMenus(menuSubItems);
@@ -102,6 +102,10 @@ void Director::update() {
draw();
}
+bool Director::processEvent(Common::Event &event) {
+ return _wm.processEvent(event);
+}
+
void Director::addSprite(ActionCEL *sprite) {
_sprites.push_back(sprite);
int i;
diff --git a/engines/pink/director.h b/engines/pink/director.h
index 35f0dcc62c..1749c1d3ce 100644
--- a/engines/pink/director.h
+++ b/engines/pink/director.h
@@ -45,6 +45,7 @@ public:
Director();
void update();
+ bool processEvent(Common::Event &event);
void setPallette(const byte *pallete) { g_system->getPaletteManager()->setPalette(pallete, 0, 256); }
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index f827ae9038..d639a62880 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -112,6 +112,9 @@ Common::Error Pink::PinkEngine::run() {
while (!shouldQuit()) {
Common::Event event;
while (_eventMan->pollEvent(event)) {
+ if (_director.processEvent(event))
+ continue;
+
switch (event.type) {
case Common::EVENT_QUIT:
case Common::EVENT_RTL: