Update widget mouseover when scrolling panels.

This commit is contained in:
Paul Chote
2015-04-27 18:42:49 +12:00
parent ea679d4557
commit cd12dcc2ff

View File

@@ -73,7 +73,13 @@ namespace OpenRA.Mods.Common.Widgets
{ {
targetListOffset = value; targetListOffset = value;
if (!smooth) if (!smooth)
{
currentListOffset = value; currentListOffset = value;
// Update mouseover
var mi = new MouseInput(MouseInputEvent.Move, MouseButton.None, 0, Viewport.LastMousePos, Modifiers.None, 0);
Ui.HandleInput(mi);
}
} }
[ObjectCreator.UseCtor] [ObjectCreator.UseCtor]
@@ -235,7 +241,13 @@ namespace OpenRA.Mods.Common.Widgets
var offsetDiff = targetListOffset - currentListOffset; var offsetDiff = targetListOffset - currentListOffset;
var absOffsetDiff = Math.Abs(offsetDiff); var absOffsetDiff = Math.Abs(offsetDiff);
if (absOffsetDiff > 1f) if (absOffsetDiff > 1f)
{
currentListOffset += offsetDiff * SmoothScrollSpeed.Clamp(0.1f, 1.0f); 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 else
SetListOffset(targetListOffset, false); SetListOffset(targetListOffset, false);
} }