From a14a0d16c1d3038b320a21246443e6d855fc2787 Mon Sep 17 00:00:00 2001 From: Christopher Page Date: Wed, 2 Jul 2008 00:30:49 +0000 Subject: Changes to implementation of the GMM svn-id: r32872 --- backends/events/default/default-events.cpp | 20 +++++++++++++------- backends/events/default/default-events.h | 5 +++++ 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'backends/events') 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 -- cgit v1.2.3