Files
android_translation_layer/src/api-impl/android/view/VelocityTracker.java

55 lines
1.3 KiB
Java
Raw Normal View History

2023-09-19 23:22:21 +02:00
package android.view;
public class VelocityTracker {
public static VelocityTracker obtain() {
return new VelocityTracker();
}
2023-10-08 17:51:41 +02:00
private float startX;
private float startY;
private long startEventTime;
private float currentX;
private float currentY;
private long currentEventTime;
public void addMovement(MotionEvent event) {
if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
startX = currentX = event.getX();
startY = currentY = event.getY();
startEventTime = currentEventTime = event.getEventTime();
} else {
currentX = event.getX();
currentY = event.getY();
currentEventTime = event.getEventTime();
}
}
2023-10-08 17:51:41 +02:00
public void recycle() {}
public void computeCurrentVelocity(int units, float maxVelocity) {}
public void computeCurrentVelocity(int units) {}
2025-02-15 21:34:37 +01:00
public float getXVelocity() {
return getXVelocity(-1);
}
public float getXVelocity(int id) {
if (currentEventTime == startEventTime)
return 0.f;
return (currentX - startX) / (currentEventTime - startEventTime) * 1000;
}
2025-02-15 21:34:37 +01:00
public float getYVelocity() {
return getYVelocity();
}
public float getYVelocity(int id) {
if (currentEventTime == startEventTime)
return 0.f;
return (currentY - startY) / (currentEventTime - startEventTime) * 1000;
}
public void clear() {}
2023-09-19 23:22:21 +02:00
}