handle WM_MOUSEWHEEL and WM_POINTERUPDATE for the Windows Ink stylus driver

This commit is contained in:
2017-04-08 22:51:59 +01:00
parent bb7e94d06b
commit 8d35d1f140
6 changed files with 57 additions and 40 deletions

View File

@@ -597,20 +597,42 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp)
App::I.key_char((int)wp);
break;
case WM_MOUSEMOVE:
App::I.mouse_move(LOWORD(lp), HIWORD(lp));
App::I.mouse_move((float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp));
break;
case WM_LBUTTONDOWN:
App::I.mouse_down(0, LOWORD(lp), HIWORD(lp));
App::I.mouse_down(0, (float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp));
break;
case WM_LBUTTONUP:
App::I.mouse_up(0, LOWORD(lp), HIWORD(lp));
App::I.mouse_up(0, (float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp));
break;
case WM_RBUTTONDOWN:
App::I.mouse_down(1, LOWORD(lp), HIWORD(lp));
App::I.mouse_down(1, (float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp));
break;
case WM_RBUTTONUP:
App::I.mouse_up(1, LOWORD(lp), HIWORD(lp));
App::I.mouse_up(1, (float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp));
break;
case WM_MOUSEWHEEL:
App::I.mouse_scroll((float)GET_X_LPARAM(lp), (float)GET_Y_LPARAM(lp),
(float)GET_WHEEL_DELTA_WPARAM(wp) / (float)WHEEL_DELTA);
break;
case WM_POINTERUPDATE:
{
POINTER_INFO pointerInfo;
UINT32 pointerId = GET_POINTERID_WPARAM(wp);
// Retrieve common pointer information
if (!GetPointerInfo(pointerId, &pointerInfo))
{
// failure, call GetLastError()
}
else
{
// success, process pointerInfo
int i = 0;
}
break;
}
}
return DefWindowProc(hWnd, msg, wp, lp);
}