mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2025-01-19 06:45:39 +00:00
Merge pull request #1831 from PookaMustard/master
QoL changes for Touch Gliding
This commit is contained in:
commit
bad87f75cb
|
@ -461,10 +461,11 @@ public class TouchscreenControllerView extends FrameLayout {
|
||||||
final int y = (int) event.getY(i);
|
final int y = (int) event.getY(i);
|
||||||
if (rect.contains(x, y)) {
|
if (rect.contains(x, y)) {
|
||||||
buttonView.setPressed(true);
|
buttonView.setPressed(true);
|
||||||
int pointerID = event.getPointerId(i);
|
final int pointerId = event.getPointerId(i);
|
||||||
if (!mGlidePairs.containsKey(pointerID) && !mGlidePairs.containsValue(buttonView)) {
|
if (!mGlidePairs.containsKey(pointerId) && !mGlidePairs.containsValue(buttonView)) {
|
||||||
if (buttonView.getIsGlidable())
|
if (buttonView.getIsGlidable())
|
||||||
mGlidePairs.put(pointerID, buttonView);
|
mGlidePairs.put(pointerId, buttonView);
|
||||||
|
else { mGlidePairs.put(pointerId, null); }
|
||||||
}
|
}
|
||||||
pressed = true;
|
pressed = true;
|
||||||
break;
|
break;
|
||||||
|
@ -493,6 +494,7 @@ public class TouchscreenControllerView extends FrameLayout {
|
||||||
(axisView.isPressed() && axisView.getPointerId() == pointerId)) {
|
(axisView.isPressed() && axisView.getPointerId() == pointerId)) {
|
||||||
axisView.setPressed(pointerId, x, y);
|
axisView.setPressed(pointerId, x, y);
|
||||||
pressed = true;
|
pressed = true;
|
||||||
|
mGlidePairs.put(pointerId, null);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -525,9 +527,9 @@ public class TouchscreenControllerView extends FrameLayout {
|
||||||
case MotionEvent.ACTION_DOWN:
|
case MotionEvent.ACTION_DOWN:
|
||||||
case MotionEvent.ACTION_POINTER_DOWN:
|
case MotionEvent.ACTION_POINTER_DOWN:
|
||||||
case MotionEvent.ACTION_POINTER_UP: {
|
case MotionEvent.ACTION_POINTER_UP: {
|
||||||
int pointerID = event.getPointerId(event.getActionIndex());
|
final int pointerId = event.getPointerId(event.getActionIndex());
|
||||||
if (mGlidePairs.containsKey(pointerID))
|
if (mGlidePairs.containsKey(pointerId))
|
||||||
mGlidePairs.remove(pointerID);
|
mGlidePairs.remove(pointerId);
|
||||||
|
|
||||||
return updateTouchButtonsFromEvent(event);
|
return updateTouchButtonsFromEvent(event);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue