mirror of
https://github.com/glfw/glfw.git
synced 2024-11-26 14:24:35 +00:00
Fixed Win32 cursor mode switch jitter.
This commit is contained in:
parent
008376d450
commit
c12759880d
@ -1018,16 +1018,6 @@ void _glfwPlatformPollEvents(void)
|
|||||||
MSG msg;
|
MSG msg;
|
||||||
_GLFWwindow* window;
|
_GLFWwindow* window;
|
||||||
|
|
||||||
window = _glfw.focusedWindow;
|
|
||||||
if (window)
|
|
||||||
{
|
|
||||||
int width, height;
|
|
||||||
_glfwPlatformGetWindowSize(window, &width, &height);
|
|
||||||
window->win32.cursorCentered = GL_FALSE;
|
|
||||||
window->win32.oldCursorX = width / 2;
|
|
||||||
window->win32.oldCursorY = height / 2;
|
|
||||||
}
|
|
||||||
|
|
||||||
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
|
while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
|
||||||
{
|
{
|
||||||
if (msg.message == WM_QUIT)
|
if (msg.message == WM_QUIT)
|
||||||
@ -1076,7 +1066,7 @@ void _glfwPlatformPollEvents(void)
|
|||||||
{
|
{
|
||||||
int width, height;
|
int width, height;
|
||||||
_glfwPlatformGetWindowSize(window, &width, &height);
|
_glfwPlatformGetWindowSize(window, &width, &height);
|
||||||
_glfwPlatformSetCursorPos(window, width / 2, height / 2);
|
_glfwPlatformSetCursorPos(window, width / 2.0, height / 2.0);
|
||||||
window->win32.cursorCentered = GL_TRUE;
|
window->win32.cursorCentered = GL_TRUE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1094,6 +1084,9 @@ void _glfwPlatformSetCursorPos(_GLFWwindow* window, double xpos, double ypos)
|
|||||||
POINT pos = { (int) xpos, (int) ypos };
|
POINT pos = { (int) xpos, (int) ypos };
|
||||||
ClientToScreen(window->win32.handle, &pos);
|
ClientToScreen(window->win32.handle, &pos);
|
||||||
SetCursorPos(pos.x, pos.y);
|
SetCursorPos(pos.x, pos.y);
|
||||||
|
|
||||||
|
window->win32.oldCursorX = xpos;
|
||||||
|
window->win32.oldCursorY = ypos;
|
||||||
}
|
}
|
||||||
|
|
||||||
void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode)
|
void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode)
|
||||||
|
Loading…
Reference in New Issue
Block a user