use css size for touch normalisation
diff --git a/src/video/emscripten/SDL_emscriptenevents.c b/src/video/emscripten/SDL_emscriptenevents.c
index 306ec55..74a4393 100644
--- a/src/video/emscripten/SDL_emscriptenevents.c
+++ b/src/video/emscripten/SDL_emscriptenevents.c
@@ -374,12 +374,15 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo
{
SDL_WindowData *window_data = userData;
int i;
+ double client_w, client_h;
SDL_TouchID deviceId = 1;
if (SDL_AddTouch(deviceId, "") < 0) {
return 0;
}
+ emscripten_get_element_css_size(NULL, &client_w, &client_h);
+
for (i = 0; i < touchEvent->numTouches; i++) {
SDL_FingerID id;
float x, y;
@@ -388,8 +391,8 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo
continue;
id = touchEvent->touches[i].identifier;
- x = touchEvent->touches[i].canvasX / (float)window_data->windowed_width;
- y = touchEvent->touches[i].canvasY / (float)window_data->windowed_height;
+ x = touchEvent->touches[i].canvasX / client_w;
+ y = touchEvent->touches[i].canvasY / client_h;
if (eventType == EMSCRIPTEN_EVENT_TOUCHSTART) {
if (!window_data->finger_touching) {