diff -r ddbca09f8f9d src/render/SDL_render.c --- a/src/render/SDL_render.c Fri Jul 18 14:10:45 2014 -0700 +++ b/src/render/SDL_render.c Sun Jul 20 13:01:53 2014 +0200 @@ -179,7 +179,27 @@ event->button.x = (int)(event->button.x / renderer->scale.x); event->button.y = (int)(event->button.y / renderer->scale.y); } + } else if (event->type == SDL_FINGERDOWN || event->type == SDL_FINGERUP || + event->type == SDL_FINGERMOTION) { + if (renderer->logical_w) { + int w = 1; + int h = 1; + SDL_GetRendererOutputSize(renderer, &w, &h); + + event->tfinger.x *= w; + event->tfinger.y *= h; + + event->tfinger.x -= renderer->viewport.x; + event->tfinger.y -= renderer->viewport.y; + event->tfinger.x = (int)(event->tfinger.x / renderer->scale.x); + event->tfinger.y = (int)(event->tfinger.y / renderer->scale.y); + + event->tfinger.x = event->tfinger.x / renderer->logical_w; + event->tfinger.y = event->tfinger.y / renderer->logical_h; + + } } + return 0; }