Mercurial > sdl-ios-xcode
changeset 5079:8c88cae7911e SDL-1.2
Michael Bicha to Sam
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 !
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sun, 23 Jan 2011 21:02:02 -0800 |
parents | 930614179450 |
children | 4c3c2599559b |
files | src/video/wincommon/SDL_sysevents.c |
diffstat | 1 files changed, 14 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/wincommon/SDL_sysevents.c Fri Dec 03 16:55:25 2010 -0800 +++ b/src/video/wincommon/SDL_sysevents.c Sun Jan 23 21:02:02 2011 -0800 @@ -479,8 +479,21 @@ 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: