mirror of
				https://github.com/Ryujinx/Opentk.git
				synced 2025-11-04 06:54:56 +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