diff options
author | Paul Gilbert | 2014-12-31 11:12:18 -1000 |
---|---|---|
committer | Paul Gilbert | 2014-12-31 11:12:18 -1000 |
commit | 5c88d2cc42d9b6124f552464b9c02e800f3956df (patch) | |
tree | 8e29758709f81b2bdb431b7e691d81eea79e0642 /engines/xeen/events.cpp | |
parent | 9506635bad402d58886cc9a47512871b321a10a2 (diff) | |
download | scummvm-rg350-5c88d2cc42d9b6124f552464b9c02e800f3956df.tar.gz scummvm-rg350-5c88d2cc42d9b6124f552464b9c02e800f3956df.tar.bz2 scummvm-rg350-5c88d2cc42d9b6124f552464b9c02e800f3956df.zip |
XEEN: Implement window framing code and dialog event handling
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r-- | engines/xeen/events.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/xeen/events.cpp b/engines/xeen/events.cpp index 54cc843dbb..fd0871edbc 100644 --- a/engines/xeen/events.cpp +++ b/engines/xeen/events.cpp @@ -94,6 +94,9 @@ void EventsManager::pollEvents() { case Common::EVENT_KEYDOWN: _keyCode = event.kbd.keycode; break; + case Common::EVENT_MOUSEMOVE: + _mousePos = event.mouse; + break; case Common::EVENT_LBUTTONDOWN: _leftButton = true; return; @@ -168,6 +171,16 @@ uint32 EventsManager::timeElapsed() { return _frameCounter - _gameCounter; } +bool EventsManager::wait(uint numFrames, bool interruptable) { + while (!_vm->shouldQuit() && timeElapsed() < numFrames) { + pollEventsAndWait(); + if (interruptable && (_leftButton || _rightButton || isKeyPending())) + return true; + } + + return false; +} + /** * Handles moving to the next game frame */ |