aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/events.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/events.cpp')
-rw-r--r--engines/xeen/events.cpp13
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
*/