aboutsummaryrefslogtreecommitdiff
path: root/backends/events/default
diff options
context:
space:
mode:
authorChristopher Page2008-07-02 00:30:49 +0000
committerChristopher Page2008-07-02 00:30:49 +0000
commita14a0d16c1d3038b320a21246443e6d855fc2787 (patch)
tree2bb11d9a13844f21e972aa7c09f5cf5047dcbe62 /backends/events/default
parent718a85e30d26a8b3167842fe9ea24b648647fa72 (diff)
downloadscummvm-rg350-a14a0d16c1d3038b320a21246443e6d855fc2787.tar.gz
scummvm-rg350-a14a0d16c1d3038b320a21246443e6d855fc2787.tar.bz2
scummvm-rg350-a14a0d16c1d3038b320a21246443e6d855fc2787.zip
Changes to implementation of the GMM
svn-id: r32872
Diffstat (limited to 'backends/events/default')
-rw-r--r--backends/events/default/default-events.cpp20
-rw-r--r--backends/events/default/default-events.h5
2 files changed, 18 insertions, 7 deletions
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 2c4785da2d..7e9157edd9 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -93,7 +93,8 @@ DefaultEventManager::DefaultEventManager(OSystem *boss) :
_boss(boss),
_buttonState(0),
_modifierState(0),
- _shouldQuit(false) {
+ _shouldQuit(false),
+ _shouldRTL(false) {
assert(_boss);
@@ -383,16 +384,15 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
_currentKeyDown.flags = event.kbd.flags;
_keyRepeatTime = time + kKeyRepeatInitialDelay;
#endif
-
// Global Main Menu
if (event.kbd.keycode == Common::KEYCODE_F11)
if (g_engine && !g_engine->isPaused())
g_engine->mainMenuDialog();
-
- if (!g_engine->_quit)
- break;
- else
+
+ if (g_engine->_quit)
event.type = Common::EVENT_QUIT;
+ else
+ break;
case Common::EVENT_KEYUP:
_modifierState = event.kbd.flags;
@@ -429,7 +429,11 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
case Common::EVENT_MAINMENU:
if (g_engine && !g_engine->isPaused())
g_engine->mainMenuDialog();
- break;
+
+ if (g_engine->_quit)
+ event.type = Common::EVENT_QUIT;
+ else
+ break;
case Common::EVENT_QUIT:
if (ConfMan.getBool("confirm_exit")) {
@@ -441,6 +445,8 @@ bool DefaultEventManager::pollEvent(Common::Event &event) {
g_engine->pauseEngine(false);
} else
_shouldQuit = true;
+
+ g_engine->_quit = true;
break;
default:
diff --git a/backends/events/default/default-events.h b/backends/events/default/default-events.h
index 98dcd4b3de..d22658b672 100644
--- a/backends/events/default/default-events.h
+++ b/backends/events/default/default-events.h
@@ -48,6 +48,7 @@ class DefaultEventManager : public Common::EventManager {
int _buttonState;
int _modifierState;
bool _shouldQuit;
+ bool _shouldRTL;
class RandomSourceRecord {
public:
@@ -114,6 +115,10 @@ public:
virtual int getButtonState() const { return _buttonState; }
virtual int getModifierState() const { return _modifierState; }
virtual int shouldQuit() const { return _shouldQuit; }
+ virtual int shouldRTL() const { return _shouldRTL; }
+ virtual void setQuit() { _shouldQuit = true; }
+ virtual void setRTL() { _shouldRTL = true; }
+ virtual void resetRTL() { _shouldRTL = false; }
};
#endif