Kaynağa Gözat

Merge pull request #33423 from bruvzg/tablet_fixes

Fix graphic tablet input coordinates on Windows.
Rémi Verschelde 5 yıl önce
ebeveyn
işleme
6a40b6767a
1 değiştirilmiş dosya ile 8 ekleme ve 2 silme
  1. 8 2
      platform/windows/os_windows.cpp

+ 8 - 2
platform/windows/os_windows.cpp

@@ -556,8 +556,14 @@ LRESULT OS_Windows::WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
 			mm->set_button_mask(last_button_state);
 
-			mm->set_position(Vector2(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
-			mm->set_global_position(Vector2(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam)));
+			POINT coords; //client coords
+			coords.x = GET_X_LPARAM(lParam);
+			coords.y = GET_Y_LPARAM(lParam);
+
+			ScreenToClient(hWnd, &coords);
+
+			mm->set_position(Vector2(coords.x, coords.y));
+			mm->set_global_position(Vector2(coords.x, coords.y));
 
 			if (mouse_mode == MOUSE_MODE_CAPTURED) {