diff options
author | richiesams | 2013-08-18 15:19:01 -0500 |
---|---|---|
committer | richiesams | 2013-08-18 19:53:00 -0500 |
commit | 1f653f9a34e3462c0ab13aeaf5f68b7070f45770 (patch) | |
tree | be31c882b008d254464635bfbeac09d76b00a65b | |
parent | 589c29e6e15e5d2957b92b1a03c6bf43a327f541 (diff) | |
download | scummvm-rg350-1f653f9a34e3462c0ab13aeaf5f68b7070f45770.tar.gz scummvm-rg350-1f653f9a34e3462c0ab13aeaf5f68b7070f45770.tar.bz2 scummvm-rg350-1f653f9a34e3462c0ab13aeaf5f68b7070f45770.zip |
ZVISION: Allow MouseEvents to be unregistered
-rw-r--r-- | engines/zvision/events.cpp | 11 | ||||
-rw-r--r-- | engines/zvision/zvision.h | 3 |
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(); |