From b086edc9158f8c3bbdce5dcdf72ee918569768f2 Mon Sep 17 00:00:00 2001 From: Sylvain Becker Date: Tue, 2 Apr 2019 17:10:29 +0200 Subject: [PATCH] Bug 4576: remove touch/mouse duplication for Emscripten --- src/video/emscripten/SDL_emscriptenevents.c | 17 ----------------- src/video/emscripten/SDL_emscriptenvideo.h | 3 --- 2 files changed, 20 deletions(-) diff --git a/src/video/emscripten/SDL_emscriptenevents.c b/src/video/emscripten/SDL_emscriptenevents.c index 9f99828a8..82fef9e5c 100644 --- a/src/video/emscripten/SDL_emscriptenevents.c +++ b/src/video/emscripten/SDL_emscriptenevents.c @@ -446,7 +446,6 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo for (i = 0; i < touchEvent->numTouches; i++) { SDL_FingerID id; float x, y; - int mx, my; if (!touchEvent->touches[i].isChanged) continue; @@ -455,16 +454,7 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo x = touchEvent->touches[i].canvasX / client_w; y = touchEvent->touches[i].canvasY / client_h; - mx = x * window_data->window->w; - my = y * window_data->window->h; - if (eventType == EMSCRIPTEN_EVENT_TOUCHSTART) { - if (!window_data->finger_touching) { - window_data->finger_touching = SDL_TRUE; - window_data->first_finger = id; - SDL_SendMouseMotion(window_data->window, SDL_TOUCH_MOUSEID, 0, mx, my); - SDL_SendMouseButton(window_data->window, SDL_TOUCH_MOUSEID, SDL_PRESSED, SDL_BUTTON_LEFT); - } SDL_SendTouch(deviceId, id, SDL_TRUE, x, y, 1.0f); /* disable browser scrolling/pinch-to-zoom if app handles touch events */ @@ -472,15 +462,8 @@ Emscripten_HandleTouch(int eventType, const EmscriptenTouchEvent *touchEvent, vo preventDefault = 1; } } else if (eventType == EMSCRIPTEN_EVENT_TOUCHMOVE) { - if ((window_data->finger_touching) && (window_data->first_finger == id)) { - SDL_SendMouseMotion(window_data->window, SDL_TOUCH_MOUSEID, 0, mx, my); - } SDL_SendTouchMotion(deviceId, id, x, y, 1.0f); } else { - if ((window_data->finger_touching) && (window_data->first_finger == id)) { - SDL_SendMouseButton(window_data->window, SDL_TOUCH_MOUSEID, SDL_RELEASED, SDL_BUTTON_LEFT); - window_data->finger_touching = SDL_FALSE; - } SDL_SendTouch(deviceId, id, SDL_FALSE, x, y, 1.0f); /* block browser's simulated mousedown/mouseup on touchscreen devices */ diff --git a/src/video/emscripten/SDL_emscriptenvideo.h b/src/video/emscripten/SDL_emscriptenvideo.h index 31565fbd4..feca1ba3c 100644 --- a/src/video/emscripten/SDL_emscriptenvideo.h +++ b/src/video/emscripten/SDL_emscriptenvideo.h @@ -47,9 +47,6 @@ typedef struct SDL_WindowData int requested_fullscreen_mode; SDL_bool fullscreen_resize; - SDL_bool finger_touching; /* for mapping touch events to mice */ - SDL_FingerID first_finger; - SDL_bool has_pointer_lock; } SDL_WindowData;