aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.Ava/AppHost.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.Ava/AppHost.cs')
-rw-r--r--src/Ryujinx.Ava/AppHost.cs44
1 files changed, 26 insertions, 18 deletions
diff --git a/src/Ryujinx.Ava/AppHost.cs b/src/Ryujinx.Ava/AppHost.cs
index 957a1c9d..e11a954d 100644
--- a/src/Ryujinx.Ava/AppHost.cs
+++ b/src/Ryujinx.Ava/AppHost.cs
@@ -157,7 +157,7 @@ namespace Ryujinx.Ava
_isFirmwareTitle = true;
}
- ConfigurationState.Instance.HideCursorOnIdle.Event += HideCursorState_Changed;
+ ConfigurationState.Instance.HideCursor.Event += HideCursorState_Changed;
_topLevel.PointerMoved += TopLevel_PointerMoved;
@@ -468,9 +468,9 @@ namespace Ryujinx.Ava
(_rendererHost.EmbeddedWindow as EmbeddedWindowOpenGL)?.MakeCurrent(null);
}
- private void HideCursorState_Changed(object sender, ReactiveEventArgs<bool> state)
+ private void HideCursorState_Changed(object sender, ReactiveEventArgs<HideCursorMode> state)
{
- if (state.NewValue)
+ if (state.NewValue == HideCursorMode.OnIdle)
{
_lastCursorMoveTime = Stopwatch.GetTimestamp();
}
@@ -965,30 +965,38 @@ namespace Ryujinx.Ava
if (_viewModel.IsActive)
{
- if (ConfigurationState.Instance.Hid.EnableMouse)
+ if (_isCursorInRenderer)
{
- if (_isCursorInRenderer)
+ if (ConfigurationState.Instance.Hid.EnableMouse)
{
HideCursor();
}
else
{
- ShowCursor();
+ switch (ConfigurationState.Instance.HideCursor.Value)
+ {
+ case HideCursorMode.Never:
+ ShowCursor();
+ break;
+ case HideCursorMode.OnIdle:
+ if (Stopwatch.GetTimestamp() - _lastCursorMoveTime >= CursorHideIdleTime * Stopwatch.Frequency)
+ {
+ HideCursor();
+ }
+ else
+ {
+ ShowCursor();
+ }
+ break;
+ case HideCursorMode.Always:
+ HideCursor();
+ break;
+ }
}
}
else
{
- if (ConfigurationState.Instance.HideCursorOnIdle)
- {
- if (Stopwatch.GetTimestamp() - _lastCursorMoveTime >= CursorHideIdleTime * Stopwatch.Frequency)
- {
- HideCursor();
- }
- else
- {
- ShowCursor();
- }
- }
+ ShowCursor();
}
Dispatcher.UIThread.Post(() =>
@@ -1133,4 +1141,4 @@ namespace Ryujinx.Ava
return state;
}
}
-}
+} \ No newline at end of file