1
0
Fork 0
mirror of https://github.com/juce-framework/JUCE.git synced 2026-01-10 23:44:24 +00:00

Android: Update handling of ACTION_CANCEL to terminate all ongoing pointer events, instead of just the primary pointer

This commit is contained in:
reuk 2025-05-22 21:02:18 +01:00
parent 3c1012baeb
commit 1741f6df29
No known key found for this signature in database

View file

@ -209,11 +209,28 @@ public final class ComponentPeerView extends ViewGroup
handleMouseDown (host, event.getPointerId (0), event.getRawX(), event.getRawY(), time);
return true;
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
handleMouseUp (host, event.getPointerId (0), event.getRawX(), event.getRawY(), time);
return true;
case MotionEvent.ACTION_CANCEL:
{
handleMouseUp (host, event.getPointerId (0), event.getRawX(), event.getRawY(), time);
int n = event.getPointerCount();
if (n > 1)
{
int point[] = new int[2];
getLocationOnScreen (point);
for (int i = 1; i < n; ++i)
handleMouseUp (host, event.getPointerId (i), event.getX (i) + point[0], event.getY (i) + point[1], time);
}
return true;
}
case MotionEvent.ACTION_MOVE:
{
handleMouseDrag (host, event.getPointerId (0), event.getRawX(), event.getRawY(), time);