aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTarek Soliman2012-02-17 14:42:17 -0600
committerTarek Soliman2012-02-20 06:49:22 -0600
commit5c3e48fddf2f021d51e41db1672d7ff543c52426 (patch)
treebd698e34a9ba1738e2b28ac8baba012f282dedaa
parente7ade8ae05aff3669059e6003e046d1ef6e914a3 (diff)
downloadscummvm-rg350-5c3e48fddf2f021d51e41db1672d7ff543c52426.tar.gz
scummvm-rg350-5c3e48fddf2f021d51e41db1672d7ff543c52426.tar.bz2
scummvm-rg350-5c3e48fddf2f021d51e41db1672d7ff543c52426.zip
KEYMAPPER: Create a DefaultEventMapper when Keymapper isn't enabled
This allows migration to unconditional mapping
-rw-r--r--backends/events/default/default-events.cpp2
-rw-r--r--common/events.h5
2 files changed, 7 insertions, 0 deletions
diff --git a/backends/events/default/default-events.cpp b/backends/events/default/default-events.cpp
index 78072b0021..074c42ff7f 100644
--- a/backends/events/default/default-events.cpp
+++ b/backends/events/default/default-events.cpp
@@ -60,6 +60,8 @@ DefaultEventManager::DefaultEventManager(Common::EventSource *boss) :
// EventDispatcher will automatically free the keymapper
_dispatcher.registerMapper(_keymapper);
_remap = false;
+#else
+ _dispatcher.registerMapper(new Common::DefaultEventMapper());
#endif
}
diff --git a/common/events.h b/common/events.h
index ab0c0a543a..48854b2abf 100644
--- a/common/events.h
+++ b/common/events.h
@@ -219,6 +219,11 @@ public:
bool allowMapping() const { return false; }
};
+class DefaultEventMapper : public EventMapper, private ArtificialEventSource {
+ bool notifyEvent(const Event &ev) { ArtificialEventSource::addEvent(Event(ev)); return true; }
+ bool pollEvent(Event &ev) { return ArtificialEventSource::pollEvent(ev); }
+};
+
/**
* Dispatches events from various sources to various observers.
*