From cd12dcc2ff37f33a6c5080ca53a8cb07b93764ac Mon Sep 17 00:00:00 2001 From: Paul Chote Date: Mon, 27 Apr 2015 18:42:49 +1200 Subject: [PATCH] Update widget mouseover when scrolling panels. --- OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs b/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs index 41485f57e4..185006e1aa 100644 --- a/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs +++ b/OpenRA.Mods.Common/Widgets/ScrollPanelWidget.cs @@ -73,7 +73,13 @@ namespace OpenRA.Mods.Common.Widgets { targetListOffset = value; if (!smooth) + { currentListOffset = value; + + // Update mouseover + var mi = new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, Viewport.LastMousePos, Modifiers.None, 0); + Ui.HandleInput(mi); + } } [ObjectCreator.UseCtor] @@ -235,7 +241,13 @@ namespace OpenRA.Mods.Common.Widgets var offsetDiff = targetListOffset - currentListOffset; var absOffsetDiff = Math.Abs(offsetDiff); if (absOffsetDiff > 1f) + { currentListOffset += offsetDiff * SmoothScrollSpeed.Clamp(0.1f, 1.0f); + + // Update mouseover + var mi = new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, Viewport.LastMousePos, Modifiers.None, 0); + Ui.HandleInput(mi); + } else SetListOffset(targetListOffset, false); }