diff options
author | Saracen <SaracenOne@gmail.com> | 2017-02-11 03:54:36 +0000 |
---|---|---|
committer | Saracen <SaracenOne@gmail.com> | 2017-02-11 03:54:36 +0000 |
commit | 523b69771b16cddc4635aa4a5c2d56cefec1d394 (patch) | |
tree | cda097507f68e21da8f5fae1d504e4fd979916ae /platform/windows | |
parent | b87a232668d9f9f3b32c2fceb60bc5f6ef46df22 (diff) |
Fix glitches when sampling relative cursor data in CAPTURED mouse mode on Windows.
Diffstat (limited to 'platform/windows')
-rw-r--r-- | platform/windows/os_windows.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index b230dda9cb..f990652ad6 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -400,14 +400,15 @@ LRESULT OS_Windows::WndProc(HWND hWnd,UINT uMsg, WPARAM wParam, LPARAM lParam) { if (mouse_mode==MOUSE_MODE_CAPTURED) { Point2i c(video_mode.width/2,video_mode.height/2); + old_x = c.x; + old_y = c.y; + if (Point2i(mm.x,mm.y)==c) { center=c; return 0; } Point2i ncenter(mm.x,mm.y); - mm.x = old_x + (mm.x-center.x); - mm.y = old_y + (mm.y-center.y); center=ncenter; POINT pos = { (int) c.x, (int) c.y }; ClientToScreen(hWnd, &pos); |