Fix SDL touch screen handling on the screen edges

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29925 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Thomas Jarosch 2011-05-25 20:11:03 +00:00
parent cc9079d24d
commit eec4e9ff6a

View file

@ -138,8 +138,15 @@ static int sdl_event_thread(void * param)
} }
#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA)) #if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
/* Hide mouse cursor on real touchscreen device */ /* SDL touch screen fix: Work around a SDL assumption that returns
SDL_ShowCursor(SDL_DISABLE); relative mouse coordinates when you get to the screen edges
using the touchscreen and a disabled mouse cursor.
*/
uint8_t hiddenCursorData = 0;
SDL_Cursor *hiddenCursor = SDL_CreateCursor(&hiddenCursorData, &hiddenCursorData, 8, 1, 0, 0);
SDL_ShowCursor(SDL_ENABLE);
SDL_SetCursor(hiddenCursor);
#endif #endif
SDL_WM_SetCaption(UI_TITLE, NULL); SDL_WM_SetCaption(UI_TITLE, NULL);
@ -174,6 +181,10 @@ static int sdl_event_thread(void * param)
SDL_WaitThread(maemo_thread, NULL); SDL_WaitThread(maemo_thread, NULL);
#endif #endif
#if (CONFIG_PLATFORM & (PLATFORM_MAEMO|PLATFORM_PANDORA))
SDL_FreeCursor(hiddenCursor);
#endif
if(picture_surface) if(picture_surface)
SDL_FreeSurface(picture_surface); SDL_FreeSurface(picture_surface);