aboutsummaryrefslogtreecommitdiff
path: root/backends/events/maemosdl
diff options
context:
space:
mode:
authorTarek Soliman2012-02-09 01:26:42 -0600
committerTarek Soliman2012-02-12 13:28:13 -0600
commitc2640ed33a1b9c28e58b04877b7c4bf7b5fff570 (patch)
tree86f7356cf37d6fa80984a99bb51fcc78444655f0 /backends/events/maemosdl
parentd90d4d10a09e1bab04154aa81162aac9c994f23c (diff)
downloadscummvm-rg350-c2640ed33a1b9c28e58b04877b7c4bf7b5fff570.tar.gz
scummvm-rg350-c2640ed33a1b9c28e58b04877b7c4bf7b5fff570.tar.bz2
scummvm-rg350-c2640ed33a1b9c28e58b04877b7c4bf7b5fff570.zip
MAEMO: Use custom event Click Mode keymap action
Diffstat (limited to 'backends/events/maemosdl')
-rw-r--r--backends/events/maemosdl/maemosdl-events.cpp16
-rw-r--r--backends/events/maemosdl/maemosdl-events.h9
2 files changed, 25 insertions, 0 deletions
diff --git a/backends/events/maemosdl/maemosdl-events.cpp b/backends/events/maemosdl/maemosdl-events.cpp
index d7bda8c8d5..acca1a3c02 100644
--- a/backends/events/maemosdl/maemosdl-events.cpp
+++ b/backends/events/maemosdl/maemosdl-events.cpp
@@ -164,6 +164,22 @@ bool MaemoSdlEventSource::toggleClickMode() {
return _clickEnabled;
}
+MaemoSdlEventObserver::MaemoSdlEventObserver(MaemoSdlEventSource *eventSource) {
+ assert(_eventSource);
+ _eventSource = eventSource;
+}
+
+bool MaemoSdlEventObserver::notifyEvent(const Common::Event &event) {
+ if (event.type != Common::EVENT_CUSTOM_BACKEND)
+ return false;
+ if (event.customType == kEventClickMode) {
+ assert(_eventSource);
+ _eventSource->toggleClickMode();
+ return true;
+ }
+ return false;
+}
+
} // namespace Maemo
#endif // if defined(MAEMO)
diff --git a/backends/events/maemosdl/maemosdl-events.h b/backends/events/maemosdl/maemosdl-events.h
index f7b2bbf70b..f3f05feeca 100644
--- a/backends/events/maemosdl/maemosdl-events.h
+++ b/backends/events/maemosdl/maemosdl-events.h
@@ -47,6 +47,15 @@ protected:
bool _clickEnabled;
};
+class MaemoSdlEventObserver : public Common::EventObserver {
+public:
+ MaemoSdlEventObserver(MaemoSdlEventSource *eventSource);
+
+ virtual bool notifyEvent(const Common::Event &event);
+private:
+ MaemoSdlEventSource *_eventSource;
+};
+
} // namespace Maemo
#endif // include guard