REVIEWED: Update CORE.Input.Touch.pointCount
#3024
This commit is contained in:
parent
b9b045cdd8
commit
ac2e9cd00f
19
src/rcore.c
19
src/rcore.c
@ -5944,11 +5944,12 @@ static int32_t AndroidInputCallback(struct android_app *app, AInputEvent *event)
|
||||
if (flags == AMOTION_EVENT_ACTION_POINTER_UP || flags == AMOTION_EVENT_ACTION_UP)
|
||||
{
|
||||
// One of the touchpoints is released, remove it from touch point arrays
|
||||
for (int i = pointerIndex; (i < CORE.Input.Touch.pointCount-1) && (i < MAX_TOUCH_POINTS); i++)
|
||||
for (int i = pointerIndex; (i < CORE.Input.Touch.pointCount - 1) && (i < MAX_TOUCH_POINTS); i++)
|
||||
{
|
||||
CORE.Input.Touch.pointId[i] = CORE.Input.Touch.pointId[i+1];
|
||||
CORE.Input.Touch.position[i] = CORE.Input.Touch.position[i+1];
|
||||
}
|
||||
|
||||
CORE.Input.Touch.pointCount--;
|
||||
}
|
||||
|
||||
@ -6720,20 +6721,22 @@ static void *EventThread(void *arg)
|
||||
if (CORE.Input.Mouse.currentPosition.y < 0) CORE.Input.Mouse.currentPosition.y = 0;
|
||||
if (CORE.Input.Mouse.currentPosition.y > CORE.Window.screen.height/CORE.Input.Mouse.scale.y) CORE.Input.Mouse.currentPosition.y = CORE.Window.screen.height/CORE.Input.Mouse.scale.y;
|
||||
}
|
||||
|
||||
// Update touch point count
|
||||
CORE.Input.Touch.pointCount = 0;
|
||||
if (CORE.Input.Touch.position[0].x >= 0) CORE.Input.Touch.pointCount++;
|
||||
if (CORE.Input.Touch.position[1].x >= 0) CORE.Input.Touch.pointCount++;
|
||||
if (CORE.Input.Touch.position[2].x >= 0) CORE.Input.Touch.pointCount++;
|
||||
if (CORE.Input.Touch.position[3].x >= 0) CORE.Input.Touch.pointCount++;
|
||||
|
||||
#if defined(SUPPORT_GESTURES_SYSTEM) // PLATFORM_RPI, PLATFORM_DRM
|
||||
if (gestureUpdate)
|
||||
{
|
||||
GestureEvent gestureEvent = { 0 };
|
||||
|
||||
gestureEvent.pointCount = 0;
|
||||
gestureEvent.touchAction = touchAction;
|
||||
|
||||
if (CORE.Input.Touch.position[0].x >= 0) gestureEvent.pointCount++;
|
||||
if (CORE.Input.Touch.position[1].x >= 0) gestureEvent.pointCount++;
|
||||
if (CORE.Input.Touch.position[2].x >= 0) gestureEvent.pointCount++;
|
||||
if (CORE.Input.Touch.position[3].x >= 0) gestureEvent.pointCount++;
|
||||
|
||||
gestureEvent.pointCount = CORE.Input.Touch.pointCount;
|
||||
|
||||
gestureEvent.pointId[0] = 0;
|
||||
gestureEvent.pointId[1] = 1;
|
||||
gestureEvent.pointId[2] = 2;
|
||||
|
Loading…
x
Reference in New Issue
Block a user