|
|
@ -622,8 +622,6 @@ static void translateChar(_GLFWwindow* window, DWORD wParam, DWORD lParam) |
|
|
|
static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, |
|
|
|
static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, |
|
|
|
WPARAM wParam, LPARAM lParam) |
|
|
|
WPARAM wParam, LPARAM lParam) |
|
|
|
{ |
|
|
|
{ |
|
|
|
int wheelDelta; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_GLFWwindow* window = (_GLFWwindow*) GetWindowLongPtr(hWnd, 0); |
|
|
|
_GLFWwindow* window = (_GLFWwindow*) GetWindowLongPtr(hWnd, 0); |
|
|
|
|
|
|
|
|
|
|
|
switch (uMsg) |
|
|
|
switch (uMsg) |
|
|
@ -880,12 +878,15 @@ static LRESULT CALLBACK windowProc(HWND hWnd, UINT uMsg, |
|
|
|
|
|
|
|
|
|
|
|
case WM_MOUSEWHEEL: |
|
|
|
case WM_MOUSEWHEEL: |
|
|
|
{ |
|
|
|
{ |
|
|
|
wheelDelta = (((int)wParam) >> 16) / WHEEL_DELTA; |
|
|
|
_glfwInputScroll(window, 0, (((int) wParam) >> 16) / WHEEL_DELTA); |
|
|
|
window->wheelPos += wheelDelta; |
|
|
|
return 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (window->mouseWheelCallback) |
|
|
|
case WM_MOUSEHWHEEL: |
|
|
|
window->mouseWheelCallback(window, window->wheelPos); |
|
|
|
{ |
|
|
|
|
|
|
|
// This message is only sent on Windows Vista and later
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_glfwInputScroll(window, (((int) wParam) >> 16) / WHEEL_DELTA, 0); |
|
|
|
return 0; |
|
|
|
return 0; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -1635,6 +1636,12 @@ void _glfwPlatformPollEvents(void) |
|
|
|
MSG msg; |
|
|
|
MSG msg; |
|
|
|
_GLFWwindow* window; |
|
|
|
_GLFWwindow* window; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for (window = _glfwLibrary.windowListHead; window; window = window->next) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
window->scrollX = 0; |
|
|
|
|
|
|
|
window->scrollY = 0; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
window = _glfwLibrary.cursorLockWindow; |
|
|
|
window = _glfwLibrary.cursorLockWindow; |
|
|
|
if (window) |
|
|
|
if (window) |
|
|
|
{ |
|
|
|
{ |
|
|
|