[Scummvm-git-logs] scummvm master -> d605a250814a0603fe6ede7e5654ab8b222d7acc

peterkohaut peterkohaut at users.noreply.github.com
Tue Mar 12 22:37:34 CET 2019


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
d605a25081 BLADERUNNER: Added support for scrolling with mouse wheel


Commit: d605a250814a0603fe6ede7e5654ab8b222d7acc
    https://github.com/scummvm/scummvm/commit/d605a250814a0603fe6ede7e5654ab8b222d7acc
Author: Peter Kohaut (peter.kohaut at gmail.com)
Date: 2019-03-12T22:37:12+01:00

Commit Message:
BLADERUNNER: Added support for scrolling with mouse wheel

Not in the original game

Changed paths:
    engines/bladerunner/bladerunner.cpp
    engines/bladerunner/bladerunner.h
    engines/bladerunner/ui/kia.cpp
    engines/bladerunner/ui/kia.h
    engines/bladerunner/ui/kia_section_base.h
    engines/bladerunner/ui/kia_section_clues.cpp
    engines/bladerunner/ui/kia_section_clues.h
    engines/bladerunner/ui/kia_section_crimes.cpp
    engines/bladerunner/ui/kia_section_crimes.h
    engines/bladerunner/ui/kia_section_diagnostic.h
    engines/bladerunner/ui/kia_section_help.cpp
    engines/bladerunner/ui/kia_section_help.h
    engines/bladerunner/ui/kia_section_load.cpp
    engines/bladerunner/ui/kia_section_load.h
    engines/bladerunner/ui/kia_section_pogo.h
    engines/bladerunner/ui/kia_section_save.cpp
    engines/bladerunner/ui/kia_section_save.h
    engines/bladerunner/ui/kia_section_settings.h
    engines/bladerunner/ui/kia_section_suspects.cpp
    engines/bladerunner/ui/kia_section_suspects.h
    engines/bladerunner/ui/ui_component.h
    engines/bladerunner/ui/ui_container.cpp
    engines/bladerunner/ui/ui_container.h
    engines/bladerunner/ui/ui_scroll_box.cpp
    engines/bladerunner/ui/ui_scroll_box.h


diff --git a/engines/bladerunner/bladerunner.cpp b/engines/bladerunner/bladerunner.cpp
index d93bb3d..32880e5 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);
diff --git a/engines/bladerunner/bladerunner.h b/engines/bladerunner/bladerunner.h
index 8d26599..e5d3adc 100644
--- a/engines/bladerunner/bladerunner.h
+++ b/engines/bladerunner/bladerunner.h
@@ -262,7 +262,7 @@ public:
 	void handleEvents();
 	void handleKeyUp(Common::Event &event);
 	void handleKeyDown(Common::Event &event);
-	void handleMouseAction(int x, int y, bool mainButton, bool buttonDown);
+	void handleMouseAction(int x, int y, bool mainButton, bool buttonDown, int scrollDirection = 0);
 	void handleMouseClickExit(int exitId, int x, int y, bool buttonDown);
 	void handleMouseClickRegion(int regionId, int x, int y, bool buttonDown);
 	void handleMouseClickItem(int itemId, bool buttonDown);
diff --git a/engines/bladerunner/ui/kia.cpp b/engines/bladerunner/ui/kia.cpp
index be64131..af26851 100644
--- a/engines/bladerunner/ui/kia.cpp
+++ b/engines/bladerunner/ui/kia.cpp
@@ -434,6 +434,15 @@ void KIA::handleMouseUp(int mouseX, int mouseY, bool mainButton) {
 	}
 }
 
+void KIA::handleMouseScroll(int mouseX, int mouseY, int direction) {
+	if (!isOpen()) {
+		return;
+	}
+	if (_currentSection) {
+		_currentSection->handleMouseScroll(direction);
+	}
+}
+
 void KIA::handleKeyUp(const Common::KeyState &kbd) {
 	if (!isOpen()) {
 		return;
diff --git a/engines/bladerunner/ui/kia.h b/engines/bladerunner/ui/kia.h
index c6d612f..47ea639 100644
--- a/engines/bladerunner/ui/kia.h
+++ b/engines/bladerunner/ui/kia.h
@@ -141,6 +141,7 @@ public:
 
 	void handleMouseDown(int mouseX, int mouseY, bool mainButton);
 	void handleMouseUp(int mouseX, int mouseY, bool mainButton);
+	void handleMouseScroll(int mouseX, int mouseY, int direction); // Added by ScummVM team
 	void handleKeyUp(const Common::KeyState &kbd);
 	void handleKeyDown(const Common::KeyState &kbd);
 
diff --git a/engines/bladerunner/ui/kia_section_base.h b/engines/bladerunner/ui/kia_section_base.h
index 988d223..b1a7291 100644
--- a/engines/bladerunner/ui/kia_section_base.h
+++ b/engines/bladerunner/ui/kia_section_base.h
@@ -55,6 +55,7 @@ public:
 	virtual void handleMouseMove(int mouseX, int mouseY) {}
 	virtual void handleMouseDown(bool mainButton) {}
 	virtual void handleMouseUp(bool mainButton) {}
+	virtual void handleMouseScroll(int direction) {} // Added by ScummVM team
 
 protected:
 	virtual void onButtonPressed(int buttonId) {}
diff --git a/engines/bladerunner/ui/kia_section_clues.cpp b/engines/bladerunner/ui/kia_section_clues.cpp
index 7485d8e..0157d72 100644
--- a/engines/bladerunner/ui/kia_section_clues.cpp
+++ b/engines/bladerunner/ui/kia_section_clues.cpp
@@ -186,6 +186,10 @@ void KIASectionClues::handleMouseUp(bool mainButton) {
 	}
 }
 
+void KIASectionClues::handleMouseScroll(int direction) {
+	_uiContainer->handleMouseScroll(direction);
+}
+
 void KIASectionClues::saveToLog() {
 	_vm->_kia->_log->add(0, sizeof(bool) * _filterCount, _filters.data());
 }
diff --git a/engines/bladerunner/ui/kia_section_clues.h b/engines/bladerunner/ui/kia_section_clues.h
index eb43f60..9910102 100644
--- a/engines/bladerunner/ui/kia_section_clues.h
+++ b/engines/bladerunner/ui/kia_section_clues.h
@@ -68,14 +68,15 @@ public:
 
 	void reset();
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool mainButton);
-	void handleMouseUp(bool mainButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool mainButton) override;
+	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 
 	void saveToLog();
 	void loadFromLog();
diff --git a/engines/bladerunner/ui/kia_section_crimes.cpp b/engines/bladerunner/ui/kia_section_crimes.cpp
index ff6352b..3d82056 100644
--- a/engines/bladerunner/ui/kia_section_crimes.cpp
+++ b/engines/bladerunner/ui/kia_section_crimes.cpp
@@ -210,6 +210,10 @@ void KIASectionCrimes::handleMouseUp(bool mainButton) {
 	_uiContainer->handleMouseUp(!mainButton);
 }
 
+void KIASectionCrimes::handleMouseScroll(int direction) {
+	_uiContainer->handleMouseScroll(direction);
+}
+
 void KIASectionCrimes::saveToLog() {
 	int data[] = { _crimeSelected, _suspectSelected };
 	_vm->_kia->_log->add(2, sizeof(data), &data);
diff --git a/engines/bladerunner/ui/kia_section_crimes.h b/engines/bladerunner/ui/kia_section_crimes.h
index bd2a2f2..1bc3f88 100644
--- a/engines/bladerunner/ui/kia_section_crimes.h
+++ b/engines/bladerunner/ui/kia_section_crimes.h
@@ -81,14 +81,15 @@ public:
 
 	void reset();
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool mainButton);
-	void handleMouseUp(bool mainButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool mainButton) override;
+	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 
 	void saveToLog();
 	void loadFromLog();
diff --git a/engines/bladerunner/ui/kia_section_diagnostic.h b/engines/bladerunner/ui/kia_section_diagnostic.h
index 192de81..1642586 100644
--- a/engines/bladerunner/ui/kia_section_diagnostic.h
+++ b/engines/bladerunner/ui/kia_section_diagnostic.h
@@ -40,10 +40,10 @@ class KIASectionDiagnostic : public KIASectionBase {
 public:
 	KIASectionDiagnostic(BladeRunnerEngine *vm);
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/kia_section_help.cpp b/engines/bladerunner/ui/kia_section_help.cpp
index 61cfc99..20002da 100644
--- a/engines/bladerunner/ui/kia_section_help.cpp
+++ b/engines/bladerunner/ui/kia_section_help.cpp
@@ -89,4 +89,8 @@ void KIASectionHelp::handleMouseUp(bool mainButton) {
 	_uiContainer->handleMouseUp(!mainButton);
 }
 
+void KIASectionHelp::handleMouseScroll(int direction) {
+	_uiContainer->handleMouseScroll(direction);
+}
+
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/kia_section_help.h b/engines/bladerunner/ui/kia_section_help.h
index 0bda5d8..779ad9e 100644
--- a/engines/bladerunner/ui/kia_section_help.h
+++ b/engines/bladerunner/ui/kia_section_help.h
@@ -39,15 +39,16 @@ public:
 	KIASectionHelp(BladeRunnerEngine *vm);
 	~KIASectionHelp();
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleKeyUp(const Common::KeyState &kbd);
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool mainButton);
-	void handleMouseUp(bool mainButton);
+	void handleKeyUp(const Common::KeyState &kbd) override;
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool mainButton) override;
+	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/kia_section_load.cpp b/engines/bladerunner/ui/kia_section_load.cpp
index 5f8b635..62facbd 100644
--- a/engines/bladerunner/ui/kia_section_load.cpp
+++ b/engines/bladerunner/ui/kia_section_load.cpp
@@ -152,6 +152,10 @@ void KIASectionLoad::handleMouseUp(bool mainButton) {
 	_uiContainer->handleMouseUp(!mainButton);
 }
 
+void KIASectionLoad::handleMouseScroll(int direction) {
+	_uiContainer->handleMouseScroll(direction);
+}
+
 void KIASectionLoad::scrollBoxCallback(void *callbackData, void *source, int lineData, int mouseButton) {
 	KIASectionLoad *self = (KIASectionLoad *)callbackData;
 
diff --git a/engines/bladerunner/ui/kia_section_load.h b/engines/bladerunner/ui/kia_section_load.h
index cd34d99..70efd47 100644
--- a/engines/bladerunner/ui/kia_section_load.h
+++ b/engines/bladerunner/ui/kia_section_load.h
@@ -66,6 +66,7 @@ public:
 	void handleMouseMove(int mouseX, int mouseY) override;
 	void handleMouseDown(bool mainButton) override;
 	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 
 private:
 	static void scrollBoxCallback(void *callbackData, void *source, int lineData, int mouseButton);
diff --git a/engines/bladerunner/ui/kia_section_pogo.h b/engines/bladerunner/ui/kia_section_pogo.h
index 122a729..bcfd641 100644
--- a/engines/bladerunner/ui/kia_section_pogo.h
+++ b/engines/bladerunner/ui/kia_section_pogo.h
@@ -45,9 +45,9 @@ class KIASectionPogo : public KIASectionBase {
 public:
 	KIASectionPogo(BladeRunnerEngine *vm);
 
-	void open();
+	void open() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 };
 
 } // End of namespace BladeRunner
diff --git a/engines/bladerunner/ui/kia_section_save.cpp b/engines/bladerunner/ui/kia_section_save.cpp
index f24d0e0..26e666a 100644
--- a/engines/bladerunner/ui/kia_section_save.cpp
+++ b/engines/bladerunner/ui/kia_section_save.cpp
@@ -278,6 +278,13 @@ void KIASectionSave::handleMouseUp(bool mainButton) {
 	}
 }
 
+void KIASectionSave::handleMouseScroll(int direction) {
+	if (_state == kStateNormal) {
+		_uiContainer->handleMouseScroll(direction);
+	}
+}
+
+
 void KIASectionSave::scrollBoxCallback(void *callbackData, void *source, int lineData, int mouseButton) {
 	KIASectionSave *self = (KIASectionSave *)callbackData;
 
diff --git a/engines/bladerunner/ui/kia_section_save.h b/engines/bladerunner/ui/kia_section_save.h
index 5287716..0d5bc43 100644
--- a/engines/bladerunner/ui/kia_section_save.h
+++ b/engines/bladerunner/ui/kia_section_save.h
@@ -82,6 +82,7 @@ public:
 	void handleMouseMove(int mouseX, int mouseY) override;
 	void handleMouseDown(bool mainButton) override;
 	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 
 private:
 	static void scrollBoxCallback(void *callbackData, void *source, int lineData, int mouseButton);
diff --git a/engines/bladerunner/ui/kia_section_settings.h b/engines/bladerunner/ui/kia_section_settings.h
index 985b778..5252ad7 100644
--- a/engines/bladerunner/ui/kia_section_settings.h
+++ b/engines/bladerunner/ui/kia_section_settings.h
@@ -59,15 +59,15 @@ public:
 	KIASectionSettings(BladeRunnerEngine *vm);
 	~KIASectionSettings();
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleKeyUp(const Common::KeyState &kbd);
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool mainButton);
-	void handleMouseUp(bool mainButton);
+	void handleKeyUp(const Common::KeyState &kbd) override;
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool mainButton) override;
+	void handleMouseUp(bool mainButton) override;
 
 private:
 	static void sliderCallback(void *callbackData, void *source);
diff --git a/engines/bladerunner/ui/kia_section_suspects.cpp b/engines/bladerunner/ui/kia_section_suspects.cpp
index 460f744..26bd875 100644
--- a/engines/bladerunner/ui/kia_section_suspects.cpp
+++ b/engines/bladerunner/ui/kia_section_suspects.cpp
@@ -246,6 +246,10 @@ void KIASectionSuspects::handleMouseUp(bool mainButton) {
 	_uiContainer->handleMouseUp(!mainButton);
 }
 
+void KIASectionSuspects::handleMouseScroll(int direction) {
+	_uiContainer->handleMouseScroll(direction);
+}
+
 void KIASectionSuspects::saveToLog() {
 	int data[] = {
 		_crimeSelected,
diff --git a/engines/bladerunner/ui/kia_section_suspects.h b/engines/bladerunner/ui/kia_section_suspects.h
index 22a3acc..3356328 100644
--- a/engines/bladerunner/ui/kia_section_suspects.h
+++ b/engines/bladerunner/ui/kia_section_suspects.h
@@ -90,14 +90,15 @@ public:
 
 	void reset();
 
-	void open();
-	void close();
+	void open() override;
+	void close() override;
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool mainButton);
-	void handleMouseUp(bool mainButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool mainButton) override;
+	void handleMouseUp(bool mainButton) override;
+	void handleMouseScroll(int direction) override;
 
 	void saveToLog();
 	void loadFromLog();
diff --git a/engines/bladerunner/ui/ui_component.h b/engines/bladerunner/ui/ui_component.h
index aae944d..c90c80c 100644
--- a/engines/bladerunner/ui/ui_component.h
+++ b/engines/bladerunner/ui/ui_component.h
@@ -53,6 +53,7 @@ public:
 	virtual void handleMouseMove(int mouseX, int mouseY) {}
 	virtual void handleMouseDown(bool alternateButton) {}
 	virtual void handleMouseUp(bool alternateButton) {}
+	virtual void handleMouseScroll(int direction) {} // Added by ScummVM team
 	virtual void handleKeyUp(const Common::KeyState &kbd) {}
 	virtual void handleKeyDown(const Common::KeyState &kbd) {}
 };
diff --git a/engines/bladerunner/ui/ui_container.cpp b/engines/bladerunner/ui/ui_container.cpp
index eed1bcd..a9b89ae 100644
--- a/engines/bladerunner/ui/ui_container.cpp
+++ b/engines/bladerunner/ui/ui_container.cpp
@@ -50,6 +50,13 @@ void UIContainer::handleMouseUp(bool alternateButton) {
 	}
 }
 
+void UIContainer::handleMouseScroll(int direction) {
+	for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
+		(*component)->handleMouseScroll(direction);
+	}
+}
+
+
 void UIContainer::handleKeyUp(const Common::KeyState &kbd) {
 	for (Common::Array<UIComponent*>::iterator component = _components.begin(); component != _components.end(); ++component) {
 		(*component)->handleKeyUp(kbd);
diff --git a/engines/bladerunner/ui/ui_container.h b/engines/bladerunner/ui/ui_container.h
index 6d5a207..07ae20f 100644
--- a/engines/bladerunner/ui/ui_container.h
+++ b/engines/bladerunner/ui/ui_container.h
@@ -42,6 +42,7 @@ public:
 	void handleMouseMove(int mouseX, int mouseY);
 	void handleMouseDown(bool alternateButton);
 	void handleMouseUp(bool alternateButton);
+	void handleMouseScroll(int direction); // Added by ScummVM team
 	void handleKeyUp(const Common::KeyState &kbd);
 	void handleKeyDown(const Common::KeyState &kbd);
 
diff --git a/engines/bladerunner/ui/ui_scroll_box.cpp b/engines/bladerunner/ui/ui_scroll_box.cpp
index 39e4174..15b0a59 100644
--- a/engines/bladerunner/ui/ui_scroll_box.cpp
+++ b/engines/bladerunner/ui/ui_scroll_box.cpp
@@ -71,6 +71,7 @@ UIScrollBox::UIScrollBox(BladeRunnerEngine *vm, UIScrollBoxCallback *lineSelecte
 
 	_rect          = rect;
 	_scrollBarRect = scrollBarRect;
+	_scrollBarRect.right += 15; // right side was not used, but it's useful for determining if the control is selected
 
 	_lineCount    = 0;
 	_maxLineCount = maxLineCount;
@@ -89,6 +90,8 @@ UIScrollBox::UIScrollBox(BladeRunnerEngine *vm, UIScrollBoxCallback *lineSelecte
 		_lines[i]->flags = 0x00;
 		_lines[i]->checkboxFrame = 5;
 	}
+
+	_mouseOver = false;
 }
 
 UIScrollBox::~UIScrollBox() {
@@ -120,6 +123,8 @@ void UIScrollBox::show() {
 
 	_highlightFrame = 0;
 	_isVisible = true;
+
+	_mouseOver = false;
 }
 
 void UIScrollBox::hide() {
@@ -157,6 +162,8 @@ void UIScrollBox::handleMouseMove(int mouseX, int mouseY) {
 		return;
 	}
 
+	_mouseOver = _rect.contains(mouseX, mouseY) || _scrollBarRect.contains(mouseX, mouseY);
+
 	if (_rect.contains(mouseX, mouseY)) {
 		int newHoveredLine = (mouseY - _rect.top) / 10 + _firstLineVisible;
 		if (newHoveredLine >= _lineCount) {
@@ -314,6 +321,16 @@ void UIScrollBox::handleMouseUp(bool alternateButton) {
 	}
 }
 
+void UIScrollBox::handleMouseScroll(int direction) {
+	if (_mouseOver) {
+		if (direction > 0) {
+			scrollDown();
+		} else if (direction < 0) {
+			scrollUp();
+		}
+	}
+}
+
 int UIScrollBox::getSelectedLineData() {
 	if (_hoveredLine >= 0 && _selectedLineState != 1 && _hoveredLine < _lineCount) {
 		return _lines[_hoveredLine]->lineData;
diff --git a/engines/bladerunner/ui/ui_scroll_box.h b/engines/bladerunner/ui/ui_scroll_box.h
index da4c574..f2b40a9 100644
--- a/engines/bladerunner/ui/ui_scroll_box.h
+++ b/engines/bladerunner/ui/ui_scroll_box.h
@@ -89,15 +89,18 @@ class UIScrollBox : public UIComponent {
 	int                   _maxLinesVisible;
 	int                   _firstLineVisible;
 
+	bool                  _mouseOver;
+
 public:
 	UIScrollBox(BladeRunnerEngine *vm, UIScrollBoxCallback *lineSelectedCallback, void *callbackData, int maxLineCount, int style, bool center, Common::Rect rect,Common::Rect scrollBarRect);
 	~UIScrollBox();
 
-	void draw(Graphics::Surface &surface);
+	void draw(Graphics::Surface &surface) override;
 
-	void handleMouseMove(int mouseX, int mouseY);
-	void handleMouseDown(bool alternateButton);
-	void handleMouseUp(bool alternateButton);
+	void handleMouseMove(int mouseX, int mouseY) override;
+	void handleMouseDown(bool alternateButton) override;
+	void handleMouseUp(bool alternateButton) override;
+	void handleMouseScroll(int direction) override;
 
 	void show();
 	void hide();





More information about the Scummvm-git-logs mailing list