PR Feedback

This commit is contained in:
Exhigh 2024-04-27 04:06:38 +05:30
commit f4a26b4fcc

View file

@ -106,8 +106,6 @@ namespace Ryujinx.Ava
private CursorStates _cursorState = !ConfigurationState.Instance.Hid.EnableMouse.Value ? private CursorStates _cursorState = !ConfigurationState.Instance.Hid.EnableMouse.Value ?
CursorStates.CursorIsVisible : CursorStates.CursorIsHidden; CursorStates.CursorIsVisible : CursorStates.CursorIsHidden;
private bool _isCursorVisible = !ConfigurationState.Instance.Hid.EnableMouse.Value;
private bool _isStopped; private bool _isStopped;
private bool _isActive; private bool _isActive;
private bool _renderingStarted; private bool _renderingStarted;
@ -224,7 +222,9 @@ namespace Ryujinx.Ava
if (sender is MainWindow window) if (sender is MainWindow window)
{ {
if (ConfigurationState.Instance.HideCursor.Value == HideCursorMode.OnIdle) if (ConfigurationState.Instance.HideCursor.Value == HideCursorMode.OnIdle)
{
_lastCursorMoveTime = Stopwatch.GetTimestamp(); _lastCursorMoveTime = Stopwatch.GetTimestamp();
}
var point = e.GetCurrentPoint(window).Position; var point = e.GetCurrentPoint(window).Position;
var bounds = RendererHost.EmbeddedWindow.Bounds; var bounds = RendererHost.EmbeddedWindow.Bounds;
@ -269,10 +269,9 @@ namespace Ryujinx.Ava
Math.Ceiling(point.X) == (int)window.Bounds.Width) && Math.Ceiling(point.X) == (int)window.Bounds.Width) &&
point.Y >= windowYOffset && point.Y >= windowYOffset &&
point.Y <= windowYLimit; point.Y <= windowYLimit;
} }
_cursorState = CursorStates.ForceChangeCursor;
_cursorState = CursorStates.ForceChangeCursor;
} }
private void UpdateScalingFilterLevel(object sender, ReactiveEventArgs<int> e) private void UpdateScalingFilterLevel(object sender, ReactiveEventArgs<int> e)
@ -1101,22 +1100,25 @@ namespace Ryujinx.Ava
if (_viewModel.IsActive) if (_viewModel.IsActive)
{ {
bool isCursorVisible = true;
if (_isCursorInRenderer && !_viewModel.ShowLoadProgress) if (_isCursorInRenderer && !_viewModel.ShowLoadProgress)
{ {
if (ConfigurationState.Instance.Hid.EnableMouse.Value) if (ConfigurationState.Instance.Hid.EnableMouse.Value)
{ {
_isCursorVisible = ConfigurationState.Instance.HideCursor.Value == HideCursorMode.Never; isCursorVisible = ConfigurationState.Instance.HideCursor.Value == HideCursorMode.Never;
} }
else else
{ {
_isCursorVisible = ConfigurationState.Instance.HideCursor.Value == HideCursorMode.Never || isCursorVisible = ConfigurationState.Instance.HideCursor.Value == HideCursorMode.Never ||
(ConfigurationState.Instance.HideCursor.Value == HideCursorMode.OnIdle && (ConfigurationState.Instance.HideCursor.Value == HideCursorMode.OnIdle &&
Stopwatch.GetTimestamp() - _lastCursorMoveTime < CursorHideIdleTime * Stopwatch.Frequency); Stopwatch.GetTimestamp() - _lastCursorMoveTime < CursorHideIdleTime * Stopwatch.Frequency);
} }
}
if (_cursorState != (_isCursorVisible ? CursorStates.CursorIsVisible : CursorStates.CursorIsHidden)) if (_cursorState != (isCursorVisible ? CursorStates.CursorIsVisible : CursorStates.CursorIsHidden))
{ {
if (_isCursorVisible) if (isCursorVisible)
{ {
ShowCursor(); ShowCursor();
} }
@ -1125,12 +1127,6 @@ namespace Ryujinx.Ava
HideCursor(); HideCursor();
} }
} }
}
else
{
if (_cursorState != CursorStates.CursorIsVisible)
ShowCursor();
}
Dispatcher.UIThread.Post(() => Dispatcher.UIThread.Post(() =>
{ {