瀏覽代碼

fix: cursor lock/unlock inconsistent behaviour on glfw, rgfw, sl (#5323)

pull/5325/head
Tiago Ferreira 2 天之前
committed by GitHub
父節點
當前提交
cc83b2bd8e
沒有發現已知的金鑰在資料庫的簽署中 GPG 金鑰 ID: B5690EEEBB952194
共有 3 個檔案被更改,包括 11 行新增9 行删除
  1. +2
    -0
      src/platforms/rcore_desktop_glfw.c
  2. +5
    -2
      src/platforms/rcore_desktop_rgfw.c
  3. +4
    -7
      src/platforms/rcore_desktop_sdl.c

+ 2
- 0
src/platforms/rcore_desktop_glfw.c 查看文件

@ -1070,6 +1070,7 @@ void EnableCursor(void)
if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_FALSE);
CORE.Input.Mouse.cursorHidden = false;
CORE.Input.Mouse.cursorLocked = false;
}
@ -1083,6 +1084,7 @@ void DisableCursor(void)
if (glfwRawMouseMotionSupported()) glfwSetInputMode(platform.handle, GLFW_RAW_MOUSE_MOTION, GLFW_TRUE);
CORE.Input.Mouse.cursorHidden = true;
CORE.Input.Mouse.cursorLocked = true;
}

+ 5
- 2
src/platforms/rcore_desktop_rgfw.c 查看文件

@ -838,8 +838,9 @@ void EnableCursor(void)
// Set cursor position in the middle
SetMousePosition(CORE.Window.screen.width/2, CORE.Window.screen.height/2);
RGFW_window_showMouse(platform.window, true);
CORE.Input.Mouse.cursorHidden = false;
ShowCursor();
CORE.Input.Mouse.cursorLocked = true;
}
// Disables cursor (lock cursor)
@ -848,6 +849,8 @@ void DisableCursor(void)
RGFW_disableCursor = true;
RGFW_window_mouseHold(platform.window, RGFW_AREA(0, 0));
HideCursor();
CORE.Input.Mouse.cursorLocked = true;
}
// Swap back buffer with front buffer (screen drawing)

+ 4
- 7
src/platforms/rcore_desktop_sdl.c 查看文件

@ -1237,13 +1237,7 @@ void EnableCursor(void)
{
SDL_SetRelativeMouseMode(SDL_FALSE);
#if defined(USING_VERSION_SDL3)
// NOTE: SDL_ShowCursor() has been split into three functions:
// SDL_ShowCursor(), SDL_HideCursor(), and SDL_CursorVisible()
SDL_ShowCursor();
#else
SDL_ShowCursor(SDL_ENABLE);
#endif
ShowCursor();
CORE.Input.Mouse.cursorLocked = false;
}
@ -1253,6 +1247,9 @@ void DisableCursor(void)
{
SDL_SetRelativeMouseMode(SDL_TRUE);
HideCursor();
platform.cursorRelative = true;
CORE.Input.Mouse.cursorLocked = true;
}

Loading…
取消
儲存