mirror of
https://github.com/Ryujinx/Opentk.git
synced 2024-12-22 20:45:38 +00:00
Merge pull request #711 from copygirl/patch-1
Replace NativeWindow cursor_visible field with implementation's CursorVisible
This commit is contained in:
commit
f11b6ce6ad
|
@ -47,7 +47,6 @@ namespace OpenTK
|
||||||
private readonly INativeWindow implementation;
|
private readonly INativeWindow implementation;
|
||||||
|
|
||||||
private bool events;
|
private bool events;
|
||||||
private bool cursor_visible = true;
|
|
||||||
private bool previous_cursor_visible = true;
|
private bool previous_cursor_visible = true;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -476,10 +475,12 @@ namespace OpenTK
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public bool CursorVisible
|
public bool CursorVisible
|
||||||
{
|
{
|
||||||
get { return cursor_visible; }
|
get
|
||||||
|
{
|
||||||
|
return implementation.CursorVisible;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
cursor_visible = value;
|
|
||||||
implementation.CursorVisible = value;
|
implementation.CursorVisible = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1236,18 +1236,17 @@ namespace OpenTK.Platform.MacOS
|
||||||
|
|
||||||
public override bool CursorVisible
|
public override bool CursorVisible
|
||||||
{
|
{
|
||||||
get { return cursorVisible; }
|
get
|
||||||
|
{
|
||||||
|
return cursorVisible;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value && !cursorVisible)
|
if (value != cursorVisible)
|
||||||
{
|
{
|
||||||
SetCursorVisible(true);
|
SetCursorVisible(value);
|
||||||
|
cursorVisible = value;
|
||||||
}
|
}
|
||||||
else if (!value && cursorVisible)
|
|
||||||
{
|
|
||||||
SetCursorVisible(false);
|
|
||||||
}
|
|
||||||
cursorVisible = value;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -935,7 +935,7 @@ namespace OpenTK.Platform.SDL2
|
||||||
{
|
{
|
||||||
lock (sync)
|
lock (sync)
|
||||||
{
|
{
|
||||||
if (Exists)
|
if (Exists && value != is_cursor_visible)
|
||||||
{
|
{
|
||||||
GrabCursor(!value);
|
GrabCursor(!value);
|
||||||
is_cursor_visible = value;
|
is_cursor_visible = value;
|
||||||
|
|
|
@ -1256,10 +1256,17 @@ namespace OpenTK.Platform.Windows
|
||||||
|
|
||||||
public override bool CursorVisible
|
public override bool CursorVisible
|
||||||
{
|
{
|
||||||
get { return cursor_visible_count >= 0; } // Not used
|
get
|
||||||
|
{
|
||||||
|
return cursor_visible_count >= 0;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value && cursor_visible_count < 0)
|
if (value == CursorVisible)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (value)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
@ -1269,7 +1276,7 @@ namespace OpenTK.Platform.Windows
|
||||||
|
|
||||||
UngrabCursor();
|
UngrabCursor();
|
||||||
}
|
}
|
||||||
else if (!value && cursor_visible_count >= 0)
|
else
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
|
|
|
@ -1684,12 +1684,19 @@ namespace OpenTK.Platform.X11
|
||||||
|
|
||||||
public override bool CursorVisible
|
public override bool CursorVisible
|
||||||
{
|
{
|
||||||
get { return cursor_visible; }
|
get
|
||||||
|
{
|
||||||
|
return cursor_visible;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
if (value && !cursor_visible)
|
if (value == cursor_visible)
|
||||||
{
|
{
|
||||||
using (new XLock(window.Display))
|
return;
|
||||||
|
}
|
||||||
|
using (new XLock(window.Display))
|
||||||
|
{
|
||||||
|
if (value)
|
||||||
{
|
{
|
||||||
UngrabMouse();
|
UngrabMouse();
|
||||||
|
|
||||||
|
@ -1699,16 +1706,12 @@ namespace OpenTK.Platform.X11
|
||||||
// Note: if cursorHandle = IntPtr.Zero, this restores the default cursor
|
// Note: if cursorHandle = IntPtr.Zero, this restores the default cursor
|
||||||
// (equivalent to calling XUndefineCursor)
|
// (equivalent to calling XUndefineCursor)
|
||||||
Functions.XDefineCursor(window.Display, window.Handle, cursorHandle);
|
Functions.XDefineCursor(window.Display, window.Handle, cursorHandle);
|
||||||
cursor_visible = true;
|
|
||||||
}
|
}
|
||||||
}
|
else
|
||||||
else if (!value && cursor_visible)
|
|
||||||
{
|
|
||||||
using (new XLock(window.Display))
|
|
||||||
{
|
{
|
||||||
GrabMouse();
|
GrabMouse();
|
||||||
cursor_visible = false;
|
|
||||||
}
|
}
|
||||||
|
cursor_visible = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue