Fix IsMouseButtonUp() and add touch events for PLATFORM_DESKTOP_SDL

This commit is contained in:
ubkp 2023-12-06 19:07:37 -03:00
parent 984e83c2d0
commit f8112c3486

View File

@ -1139,6 +1139,7 @@ void PollInputEvents(void)
else if (btn == 1) btn = 2; else if (btn == 1) btn = 2;
CORE.Input.Mouse.currentButtonState[btn] = 1; CORE.Input.Mouse.currentButtonState[btn] = 1;
CORE.Input.Touch.currentTouchState[btn] = 1;
touchAction = 1; touchAction = 1;
gestureUpdate = true; gestureUpdate = true;
@ -1152,6 +1153,7 @@ void PollInputEvents(void)
else if (btn == 1) btn = 2; else if (btn == 1) btn = 2;
CORE.Input.Mouse.currentButtonState[btn] = 0; CORE.Input.Mouse.currentButtonState[btn] = 0;
CORE.Input.Touch.currentTouchState[btn] = 0;
touchAction = 0; touchAction = 0;
gestureUpdate = true; gestureUpdate = true;
@ -1180,6 +1182,28 @@ void PollInputEvents(void)
gestureUpdate = true; gestureUpdate = true;
} break; } break;
// Check touch events
// NOTE: These cases need to be reviewed on a real touch screen
case SDL_FINGERDOWN: {
CORE.Input.Touch.currentTouchState[event.tfinger.fingerId] = 1;
touchAction = 1;
gestureUpdate = true;
} break;
case SDL_FINGERUP: {
CORE.Input.Touch.currentTouchState[event.tfinger.fingerId] = 0;
touchAction = 0;
gestureUpdate = true;
} break;
case SDL_FINGERMOTION: {
CORE.Input.Touch.position[event.tfinger.fingerId].x = (float)event.motion.x;
CORE.Input.Touch.position[event.tfinger.fingerId].y = (float)event.motion.y;
touchAction = 2;
gestureUpdate = true;
} break;
// Check gamepad events // Check gamepad events
case SDL_JOYAXISMOTION: case SDL_JOYAXISMOTION:
{ {