Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
John Wilson 2010-08-17 17:09:16 PDT
Browse files Browse the repository at this point in the history
The are no event handlers for the middle mouse button, right mouse buttons, and
mouse wheel in the latest HG revision 4636. It has been like this for 3 months.
I made a patch for this, though I'm not sure if the Xbutton or mouse wheel code
is "correct" by your standards.
  • Loading branch information
slouken committed Jan 20, 2011
1 parent cf8317f commit 049494f
Showing 1 changed file with 34 additions and 0 deletions.
34 changes: 34 additions & 0 deletions src/video/win32/SDL_win32events.c
Expand Up @@ -218,6 +218,40 @@ WIN_WindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
SDL_SendMouseButton(data->window, SDL_RELEASED, SDL_BUTTON_LEFT);
break;

case WM_RBUTTONDOWN:
SDL_SendMouseButton(data->window, SDL_PRESSED, SDL_BUTTON_RIGHT);
break;

case WM_RBUTTONUP:
SDL_SendMouseButton(data->window, SDL_RELEASED, SDL_BUTTON_RIGHT);
break;

case WM_MBUTTONDOWN:
SDL_SendMouseButton(data->window, SDL_PRESSED, SDL_BUTTON_MIDDLE);
break;

case WM_MBUTTONUP:
SDL_SendMouseButton(data->window, SDL_RELEASED, SDL_BUTTON_MIDDLE);
break;

case WM_XBUTTONDOWN:
SDL_SendMouseButton(data->window, SDL_PRESSED, SDL_BUTTON_X1 + GET_XBUTTON_WPARAM(wParam) - 1);
returnCode = TRUE;
break;

case WM_XBUTTONUP:
SDL_SendMouseButton(data->window, SDL_RELEASED, SDL_BUTTON_X1 + GET_XBUTTON_WPARAM(wParam) - 1);
returnCode = TRUE;
break;

case WM_MOUSEWHEEL:
{
int motion = (short) HIWORD(wParam);

SDL_SendMouseWheel(data->window, 0, motion);
break;
}

case WM_MOUSELEAVE:
if (SDL_GetMouseFocus() == data->window) {
SDL_SetMouseFocus(NULL);
Expand Down

0 comments on commit 049494f

Please sign in to comment.