diff options
author | Peter Kohaut | 2019-03-12 22:13:25 +0100 |
---|---|---|
committer | Peter Kohaut | 2019-03-12 22:37:12 +0100 |
commit | d605a250814a0603fe6ede7e5654ab8b222d7acc (patch) | |
tree | 8fae1cd464e1502ce18cf525e1f32a7c29eecf7b /engines/bladerunner/bladerunner.cpp | |
parent | efa9717c691ef488f7b0ab3f04bd71b734b881e5 (diff) | |
download | scummvm-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.cpp | 22 |
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); |