aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/bladerunner.cpp
diff options
context:
space:
mode:
authorPeter Kohaut2019-03-12 22:13:25 +0100
committerPeter Kohaut2019-03-12 22:37:12 +0100
commitd605a250814a0603fe6ede7e5654ab8b222d7acc (patch)
tree8fae1cd464e1502ce18cf525e1f32a7c29eecf7b /engines/bladerunner/bladerunner.cpp
parentefa9717c691ef488f7b0ab3f04bd71b734b881e5 (diff)
downloadscummvm-rg350-d605a250814a0603fe6ede7e5654ab8b222d7acc.tar.gz
scummvm-rg350-d605a250814a0603fe6ede7e5654ab8b222d7acc.tar.bz2
scummvm-rg350-d605a250814a0603fe6ede7e5654ab8b222d7acc.zip
BLADERUNNER: Added support for scrolling with mouse wheel
Not in the original game
Diffstat (limited to 'engines/bladerunner/bladerunner.cpp')
-rw-r--r--engines/bladerunner/bladerunner.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index d93bb3dad0..32880e5f1d 100644
--- a/engines/bladerunner/bladerunner.cpp
+++ b/engines/bladerunner/bladerunner.cpp
@@ -1035,23 +1035,39 @@ void BladeRunnerEngine::handleEvents() {
case Common::EVENT_KEYUP:
handleKeyUp(event);
break;
+
case Common::EVENT_KEYDOWN:
handleKeyDown(event);
break;
+
case Common::EVENT_LBUTTONUP:
handleMouseAction(event.mouse.x, event.mouse.y, true, false);
break;
+
case Common::EVENT_RBUTTONUP:
case Common::EVENT_MBUTTONUP:
handleMouseAction(event.mouse.x, event.mouse.y, false, false);
break;
+
case Common::EVENT_LBUTTONDOWN:
handleMouseAction(event.mouse.x, event.mouse.y, true, true);
break;
+
case Common::EVENT_RBUTTONDOWN:
case Common::EVENT_MBUTTONDOWN:
handleMouseAction(event.mouse.x, event.mouse.y, false, true);
break;
+
+ // Added by ScummVM team
+ case Common::EVENT_WHEELUP:
+ handleMouseAction(event.mouse.x, event.mouse.y, false, false, -1);
+ break;
+
+ // Added by ScummVM team
+ case Common::EVENT_WHEELDOWN:
+ handleMouseAction(event.mouse.x, event.mouse.y, false, false, 1);
+ break;
+
default:
; // nothing to do
}
@@ -1185,7 +1201,7 @@ void BladeRunnerEngine::handleKeyDown(Common::Event &event) {
}
}
-void BladeRunnerEngine::handleMouseAction(int x, int y, bool mainButton, bool buttonDown) {
+void BladeRunnerEngine::handleMouseAction(int x, int y, bool mainButton, bool buttonDown, int scrollDirection /* = 0 */) {
x = CLIP(x, 0, 639);
y = CLIP(y, 0, 479);
@@ -1201,7 +1217,9 @@ void BladeRunnerEngine::handleMouseAction(int x, int y, bool mainButton, bool bu
}
if (_kia->isOpen()) {
- if (buttonDown) {
+ if (scrollDirection != 0) {
+ _kia->handleMouseScroll(x, y, scrollDirection);
+ } else if (buttonDown) {
_kia->handleMouseDown(x, y, mainButton);
} else {
_kia->handleMouseUp(x, y, mainButton);