mirror of
https://github.com/yawut/SDL.git
synced 2026-10-02 05:06:46 -05:00
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 !
--HG--
branch : SDL-1.2
This commit is contained in:
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user