aboutsummaryrefslogtreecommitdiff
path: root/engines/mads/events.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-07-26 20:19:35 -0400
committerPaul Gilbert2014-07-26 20:19:35 -0400
commit7ea081e7a0df465b6fda8e01aa0f1e7a990e24be (patch)
tree20ce1c4fbc253d1ee1ab0660d0b43576566f0817 /engines/mads/events.cpp
parentb87723f34bfd58019d38b20fc9d97a8106e0aecd (diff)
downloadscummvm-rg350-7ea081e7a0df465b6fda8e01aa0f1e7a990e24be.tar.gz
scummvm-rg350-7ea081e7a0df465b6fda8e01aa0f1e7a990e24be.tar.bz2
scummvm-rg350-7ea081e7a0df465b6fda8e01aa0f1e7a990e24be.zip
MADS: Add support to event manager for intercepting events
Diffstat (limited to 'engines/mads/events.cpp')
-rw-r--r--engines/mads/events.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/engines/mads/events.cpp b/engines/mads/events.cpp
index 41c8255ce8..de4dc3c070 100644
--- a/engines/mads/events.cpp
+++ b/engines/mads/events.cpp
@@ -46,6 +46,7 @@ EventsManager::EventsManager(MADSEngine *vm) {
_mouseMoved = false;
_vD8 = 0;
_rightMousePressed = false;
+ _eventTarget = nullptr;
}
EventsManager::~EventsManager() {
@@ -138,6 +139,12 @@ void EventsManager::pollEvents() {
Common::Event event;
while (g_system->getEventManager()->pollEvent(event)) {
+ // If an event target is specified, pass the event to it
+ if (_eventTarget) {
+ _eventTarget->onEvent(event);
+ continue;
+ }
+
// Handle keypress
switch (event.type) {
case Common::EVENT_QUIT: