package net.puppygames.applet;
import org.lwjgl.input.Mouse;
/**
* Mouse events
*/
public class MouseEvent {
private int x, y, dwheel, dx, dy, button;
private boolean buttonDown;
private long time;
public MouseEvent() {
}
public void fromMouse() {
dx = Mouse.getEventDX();
dy = Mouse.getEventDY();
dwheel = Mouse.getEventDWheel();
x = Mouse.getEventX();
y = Mouse.getEventY();
button = Mouse.getEventButton();
buttonDown = Mouse.getEventButtonState();
time = Mouse.getEventNanoseconds();
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("MouseEvent [time=");
builder.append(time);
builder.append(", x=");
builder.append(x);
builder.append(", y=");
builder.append(y);
builder.append(", dx=");
builder.append(dx);
builder.append(", dy=");
builder.append(dy);
builder.append(", dwheel=");
builder.append(dwheel);
builder.append(", button=");
builder.append(button);
builder.append(", buttonDown=");
builder.append(buttonDown);
builder.append("]");
return builder.toString();
}
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result + button;
result = prime * result + (buttonDown ? 1231 : 1237);
result = prime * result + dwheel;
result = prime * result + dx;
result = prime * result + dy;
result = prime * result + (int) (time ^ (time >>> 32));
result = prime * result + x;
result = prime * result + y;
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
MouseEvent other = (MouseEvent) obj;
if (button != other.button) {
return false;
}
if (buttonDown != other.buttonDown) {
return false;
}
if (dwheel != other.dwheel) {
return false;
}
if (dx != other.dx) {
return false;
}
if (dy != other.dy) {
return false;
}
if (time != other.time) {
return false;
}
if (x != other.x) {
return false;
}
if (y != other.y) {
return false;
}
return true;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
public int getDWheel() {
return dwheel;
}
public int getDX() {
return dx;
}
public int getDY() {
return dy;
}
public int getButton() {
return button;
}
public boolean isButtonDown() {
return buttonDown;
}
public long getTime() {
return time;
}
}