Skip to content

Commit

Permalink
Michael Bicha to Sam
Browse files Browse the repository at this point in the history
I came across further issues with SDL 1.2.14 on win32 in combination
with touch screens.

When you touched the screen older SDLs reported
SDL_MOUSEMOTION to the touch position
SDL_MOUSEBUTTONDOWN at the touch position

1.2.14 reports
SDL_MOUSEBUTTONDOWN at the last mouse position before the touch
and then a
SDL_MOUSEMOTION to the touch position

I found that to fix it in the file SDL_sysevents.c i had to put back the
following lines from 1.2.12 to get it working correctly again:
               if ( mouse_relative ) {
               /*    RJR: March 28, 2000
                   report internal mouse position if in relative mode */
                   x = 0; y = 0;
               } else {
                   x = (Sint16)LOWORD(lParam);
                   y = (Sint16)HIWORD(lParam);
#ifdef _WIN32_WCE
                   if (SDL_VideoSurface)
                       GapiTransform(this->hidden->userOrientation,
this->hidden->hiresFix, &x, &y);
#endif
               }
               posted = SDL_PrivateMouseButton(
                           state, button, x, y);

where there was only
               posted = SDL_PrivateMouseButton(
                           state, button, 0, 0);
in 1.2.14 (appx. line 484)

please feel free to put that change into any SDL lib you like in any way
you like and thanks for your great work !
  • Loading branch information
slouken committed Jan 24, 2011
1 parent f69ecd2 commit e852962
Showing 1 changed file with 14 additions and 1 deletion.
15 changes: 14 additions & 1 deletion src/video/wincommon/SDL_sysevents.c
Expand Up @@ -479,8 +479,21 @@ LRESULT CALLBACK WinMessage(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
mouse_pressed = 0;
}
}
if ( mouse_relative ) {
/* RJR: March 28, 2000
report internal mouse position if in relative mode */
x = 0; y = 0;
} else {
x = (Sint16)LOWORD(lParam);
y = (Sint16)HIWORD(lParam);
#ifdef _WIN32_WCE
if (SDL_VideoSurface)
GapiTransform(this->hidden->userOrientation,
this->hidden->hiresFix, &x, &y);
#endif
}
posted = SDL_PrivateMouseButton(
state, button, 0, 0);
state, button, x, y);

/*
* MSDN says:
Expand Down

0 comments on commit e852962

Please sign in to comment.