Files
autosqeal/src/main/java/wtf/beatrice/autosqueal/controls/RobotMouseTracker.java
T

37 lines
981 B
Java

package wtf.beatrice.autosqueal.controls;
/**
* Keeps track of the mouse movements the app itself performs, so that other
* components (like the away detection) can tell them apart from the user's.
*
* Written by the movement tasks, read by whoever needs to know.
*/
public class RobotMouseTracker {
private volatile boolean moving = false;
private volatile int lastX = Integer.MIN_VALUE;
private volatile int lastY = Integer.MIN_VALUE;
/** Marks the start of a movement performed by the app. */
public void moveStarted() {
moving = true;
}
/**
* Marks the end of a movement performed by the app, which left the cursor
* at the given coordinates.
*/
public void moveEnded(int x, int y) {
lastX = x;
lastY = y;
moving = false;
}
public boolean isMoving() {
return moving;
}
public boolean isLastPosition(int x, int y) {
return x == lastX && y == lastY;
}
}