From e4e744aed508e6a403d4009a7b88e9ea0b7805ca Mon Sep 17 00:00:00 2001 From: ubkp <118854183+ubkp@users.noreply.github.com> Date: Fri, 8 Dec 2023 15:22:08 -0300 Subject: [PATCH] Reapply previous gesture handling optimization also fixing GESTURE_DRAG to not trigger GESTURE_SWIPE* when it ends --- src/platforms/rcore_desktop_sdl.c | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/platforms/rcore_desktop_sdl.c b/src/platforms/rcore_desktop_sdl.c index 11ad87676..e1e6e4c9a 100644 --- a/src/platforms/rcore_desktop_sdl.c +++ b/src/platforms/rcore_desktop_sdl.c @@ -996,7 +996,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; int touchAction = -1; // 0-TOUCH_ACTION_UP, 1-TOUCH_ACTION_DOWN, 2-TOUCH_ACTION_MOVE - bool gestureUpdate = false; // Flag to note gestures require to update bool realTouch = false; // Flag to differentiate real touch gestures from mouse ones // Register previous keys states @@ -1142,7 +1141,6 @@ void PollInputEvents(void) CORE.Input.Touch.currentTouchState[btn] = 1; touchAction = 1; - gestureUpdate = true; } break; case SDL_MOUSEBUTTONUP: { @@ -1156,7 +1154,6 @@ void PollInputEvents(void) CORE.Input.Touch.currentTouchState[btn] = 0; touchAction = 0; - gestureUpdate = true; } break; case SDL_MOUSEWHEEL: { @@ -1179,7 +1176,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[0] = CORE.Input.Mouse.currentPosition; touchAction = 2; - gestureUpdate = true; } break; // Check touch events @@ -1192,7 +1188,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 1; - gestureUpdate = true; realTouch = true; } break; case SDL_FINGERUP: @@ -1203,7 +1198,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 0; - gestureUpdate = true; realTouch = true; } break; case SDL_FINGERMOTION: @@ -1213,7 +1207,6 @@ void PollInputEvents(void) CORE.Input.Touch.position[touchId].y = event.tfinger.y * CORE.Window.screen.height; touchAction = 2; - gestureUpdate = true; realTouch = true; } break; @@ -1239,7 +1232,7 @@ void PollInputEvents(void) } #if defined(SUPPORT_GESTURES_SYSTEM) - if (gestureUpdate) + if (touchAction > -1) { // Process mouse events as touches to be able to use mouse-gestures GestureEvent gestureEvent = { 0 }; @@ -1264,7 +1257,7 @@ void PollInputEvents(void) // Gesture data is sent to gestures-system for processing ProcessGestureEvent(gestureEvent); - gestureUpdate = false; + touchAction = -1; } #endif }