ensure mouse cursor is only hidden when mouse is in renderer (#3448)
This commit is contained in:
parent
4c2ab880ef
commit
d86a116e1e
@ -77,7 +77,7 @@ namespace Ryujinx.Ava
|
||||
private IRenderer _renderer;
|
||||
private readonly Thread _renderingThread;
|
||||
|
||||
private bool _isMouseInClient;
|
||||
private bool _isMouseInRenderer;
|
||||
private bool _renderingStarted;
|
||||
private bool _dialogShown;
|
||||
|
||||
@ -142,7 +142,6 @@ namespace Ryujinx.Ava
|
||||
|
||||
ConfigurationState.Instance.HideCursorOnIdle.Event += HideCursorState_Changed;
|
||||
|
||||
_parent.PointerEnter += Parent_PointerEntered;
|
||||
_parent.PointerLeave += Parent_PointerLeft;
|
||||
_parent.PointerMoved += Parent_PointerMoved;
|
||||
|
||||
@ -157,18 +156,15 @@ namespace Ryujinx.Ava
|
||||
private void Parent_PointerMoved(object sender, PointerEventArgs e)
|
||||
{
|
||||
_lastCursorMoveTime = Stopwatch.GetTimestamp();
|
||||
var p = e.GetCurrentPoint(_parent).Position;
|
||||
var r = _parent.InputHitTest(p);
|
||||
_isMouseInRenderer = r == Renderer;
|
||||
}
|
||||
|
||||
private void Parent_PointerLeft(object sender, PointerEventArgs e)
|
||||
{
|
||||
Renderer.Cursor = ConfigurationState.Instance.Hid.EnableMouse ? InvisibleCursor : Cursor.Default;
|
||||
|
||||
_isMouseInClient = false;
|
||||
}
|
||||
|
||||
private void Parent_PointerEntered(object sender, PointerEventArgs e)
|
||||
{
|
||||
_isMouseInClient = true;
|
||||
_isMouseInRenderer = false;
|
||||
_parent.Cursor = Cursor.Default;
|
||||
}
|
||||
|
||||
private void SetRendererWindowSize(Size size)
|
||||
@ -897,15 +893,12 @@ namespace Ryujinx.Ava
|
||||
private void HandleScreenState()
|
||||
{
|
||||
if (ConfigurationState.Instance.Hid.EnableMouse)
|
||||
{
|
||||
if (_isMouseInClient)
|
||||
{
|
||||
Dispatcher.UIThread.Post(() =>
|
||||
{
|
||||
_parent.Cursor = InvisibleCursor;
|
||||
_parent.Cursor = _isMouseInRenderer ? InvisibleCursor : Cursor.Default;
|
||||
});
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (_hideCursorOnIdle)
|
||||
|
@ -376,6 +376,7 @@ namespace Ryujinx.Ava.Ui.Windows
|
||||
ViewModel.ShowContent = true;
|
||||
ViewModel.ShowLoadProgress = false;
|
||||
ViewModel.IsLoadingIndeterminate = false;
|
||||
Cursor = Cursor.Default;
|
||||
|
||||
AppHost = null;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user