Fixed cursor centering for odd window sizes.

This commit is contained in:
Camilla Berglund 2013-11-13 12:19:43 +01:00
parent d82095d7ea
commit 7af99bce88
3 changed files with 5 additions and 4 deletions

View File

@ -41,6 +41,7 @@ guide in the GLFW documentation.
focus callback focus callback
- [Win32] Bugfix: The disabled cursor mode clip rectangle was updated for - [Win32] Bugfix: The disabled cursor mode clip rectangle was updated for
unfocused windows unfocused windows
- [Win32] Bugfix: Cursor was not properly re-centered over odd-sized windows
- [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval - [Cocoa] Added dependency on CoreVideo framework for refresh rate retrieval
- [Cocoa] Enabled Lion full screen for resizable windowed mode windows - [Cocoa] Enabled Lion full screen for resizable windowed mode windows
- [Cocoa] Moved to Cocoa API for application transformation and activation - [Cocoa] Moved to Cocoa API for application transformation and activation

View File

@ -157,7 +157,7 @@ typedef struct _GLFWwindowWin32
GLboolean cursorCentered; GLboolean cursorCentered;
GLboolean cursorInside; GLboolean cursorInside;
GLboolean cursorHidden; GLboolean cursorHidden;
double oldCursorX, oldCursorY; int oldCursorX, oldCursorY;
} _GLFWwindowWin32; } _GLFWwindowWin32;

View File

@ -604,7 +604,7 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg,
if (newCursorX != window->win32.oldCursorX || if (newCursorX != window->win32.oldCursorX ||
newCursorY != window->win32.oldCursorY) newCursorY != window->win32.oldCursorY)
{ {
double x, y; int x, y;
if (window->cursorMode == GLFW_CURSOR_DISABLED) if (window->cursorMode == GLFW_CURSOR_DISABLED)
{ {
@ -1121,8 +1121,8 @@ void _glfwPlatformSetCursorPos(_GLFWwindow* window, double xpos, double 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.oldCursorX = (int) xpos;
window->win32.oldCursorY = ypos; window->win32.oldCursorY = (int) ypos;
} }
void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode) void _glfwPlatformSetCursorMode(_GLFWwindow* window, int mode)