aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/zvision/events.cpp11
-rw-r--r--engines/zvision/zvision.h3
2 files changed, 14 insertions, 0 deletions
diff --git a/engines/zvision/events.cpp b/engines/zvision/events.cpp
index ca96f52457..bea476fa41 100644
--- a/engines/zvision/events.cpp
+++ b/engines/zvision/events.cpp
@@ -39,6 +39,17 @@ void ZVision::registerMouseEvent(const MouseEvent &event) {
_mouseEvents.push_back(event);
}
+bool ZVision::removeMouseEvent(const uint32 key) {
+ for (Common::List<MouseEvent>::iterator iter = _mouseEvents.begin(); iter != _mouseEvents.end(); iter++) {
+ if ((*iter)._key == key) {
+ _mouseEvents.erase(iter);
+ return true;
+ }
+ }
+
+ return false;
+}
+
void ZVision::clearAllMouseEvents() {
_mouseEvents.clear();
}
diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h
index 58812d4d11..9e9d5db951 100644
--- a/engines/zvision/zvision.h
+++ b/engines/zvision/zvision.h
@@ -133,6 +133,9 @@ public:
* @param event The event to register
*/
void registerMouseEvent(const MouseEvent &event);
+
+ bool removeMouseEvent(const uint32 key);
+
/** Remove all MouseEvents from the event system */
void clearAllMouseEvents();