aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorrichiesams2013-08-26 14:16:04 -0500
committerrichiesams2013-08-28 16:44:24 -0500
commit84c645968c9e93ca343e7c80c6f4546a793c2d41 (patch)
tree4b711d5b7dbc7f56abd2bd70673bd3eae3cb708c /engines
parente3b08793dddbf8cf8214328b4b3780995496645c (diff)
downloadscummvm-rg350-84c645968c9e93ca343e7c80c6f4546a793c2d41.tar.gz
scummvm-rg350-84c645968c9e93ca343e7c80c6f4546a793c2d41.tar.bz2
scummvm-rg350-84c645968c9e93ca343e7c80c6f4546a793c2d41.zip
ZVISION: Remove ZVision::_mousEvents and all associated functions
Instead, pass all mouse events to ScriptManager
Diffstat (limited to 'engines')
-rw-r--r--engines/zvision/events.cpp43
-rw-r--r--engines/zvision/zvision.h17
2 files changed, 3 insertions, 57 deletions
diff --git a/engines/zvision/events.cpp b/engines/zvision/events.cpp
index 94e8f088dd..9283328202 100644
--- a/engines/zvision/events.cpp
+++ b/engines/zvision/events.cpp
@@ -32,38 +32,10 @@
#include "zvision/cursor_manager.h"
#include "zvision/render_manager.h"
#include "zvision/script_manager.h"
-#include "zvision/mouse_event.h"
#include "zvision/rlf_animation.h"
namespace ZVision {
-void ZVision::registerMouseEvent(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) {
- _scriptManager->setStateValue((*iter)->_key, 0);
- _mouseEvents.erase(iter);
- return true;
- }
- }
-
- return false;
-}
-
-void ZVision::clearAllMouseEvents() {
- // Clear the state values of all the events
- // Then delete the nodes
- for (Common::List<MouseEvent *>::iterator iter = _mouseEvents.begin(); iter != _mouseEvents.end(); iter++) {
- _scriptManager->setStateValue((*iter)->_key, 0);
- delete (*iter);
- }
-
- _mouseEvents.clear();
-}
-
void ZVision::processEvents() {
while (_eventMan->pollEvent(_event)) {
switch (_event.type) {
@@ -121,29 +93,20 @@ void ZVision::onMouseDown(const Common::Point &pos) {
_cursorManager->cursorDown(true);
Common::Point imageCoord(_renderManager->screenSpaceToImageSpace(pos));
-
- for (Common::List<MouseEvent *>::iterator iter = _mouseEvents.begin(); iter != _mouseEvents.end(); iter++) {
- (*iter)->onMouseDown(pos, imageCoord);
- }
+ _scriptManager->onMouseDown(pos, imageCoord);
}
void ZVision::onMouseUp(const Common::Point &pos) {
_cursorManager->cursorDown(false);
Common::Point imageCoord(_renderManager->screenSpaceToImageSpace(pos));
-
- for (Common::List<MouseEvent *>::iterator iter = _mouseEvents.begin(); iter != _mouseEvents.end(); iter++) {
- (*iter)->onMouseUp(pos, imageCoord);
- }
+ _scriptManager->onMouseUp(pos, imageCoord);
}
void ZVision::onMouseMove(const Common::Point &pos) {
Common::Point imageCoord(_renderManager->screenSpaceToImageSpace(pos));
- bool cursorWasChanged = false;
- for (Common::List<MouseEvent *>::iterator iter = _mouseEvents.begin(); iter != _mouseEvents.end(); iter++) {
- cursorWasChanged = cursorWasChanged || (*iter)->onMouseMove(pos, imageCoord);
- }
+ bool cursorWasChanged = _scriptManager->onMouseMove(pos, imageCoord);
// Graph of the function governing rotation velocity:
//
diff --git a/engines/zvision/zvision.h b/engines/zvision/zvision.h
index 84e4da9d20..6bf6d2acc0 100644
--- a/engines/zvision/zvision.h
+++ b/engines/zvision/zvision.h
@@ -33,7 +33,6 @@
#include "zvision/detection.h"
#include "zvision/clock.h"
-#include "zvision/mouse_event.h"
#include "gui/debugger.h"
@@ -100,9 +99,6 @@ private:
// Clock
Clock _clock;
- // To store the current mouse events
- Common::List<MouseEvent *> _mouseEvents;
-
// To prevent allocation every time we process events
Common::Event _event;
@@ -132,19 +128,6 @@ public:
void playAnimation(RlfAnimation *animation, uint16 x, uint16 y, DisposeAfterUse::Flag disposeAfterUse = DisposeAfterUse::YES);
/**
- * Register a MouseEvent with the event system. These will be checked at every
- * MOUSE_UP, MOUSE_DOWN, MOUSE_MOVE, etc.
- *
- * @param event The event to register
- */
- void registerMouseEvent(MouseEvent *event);
-
- bool removeMouseEvent(const uint32 key);
-
- /** Remove all MouseEvents from the event system */
- void clearAllMouseEvents();
-
- /**
* Utility method to cycle through all the cursors in the game. After
* calling, use Left and Right arrows to cycle. Esc to quit. This is a
* blocking function call.