-
-
Notifications
You must be signed in to change notification settings - Fork 162
Expand file tree
/
Copy pathMouseEvent.java
More file actions
113 lines (90 loc) · 2.99 KB
/
MouseEvent.java
File metadata and controls
113 lines (90 loc) · 2.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
/* -*- mode: java; c-basic-offset: 2; indent-tabs-mode: nil -*- */
/*
Part of the Processing project - http://processing.org
Copyright (c) 2012 The Processing Foundation
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation, version 2.1.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General
Public License along with this library; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330,
Boston, MA 02111-1307 USA
*/
package processing.event;
//import processing.core.PConstants;
public class MouseEvent extends Event {
static public final int PRESS = 1;
static public final int RELEASE = 2;
static public final int CLICK = 3;
static public final int DRAG = 4;
static public final int MOVE = 5;
static public final int ENTER = 6;
static public final int EXIT = 7;
static public final int WHEEL = 8;
protected int x, y;
protected int button;
protected int count;
public MouseEvent(Object nativeObject,
long millis, int action, int modifiers,
int x, int y, int button, int count) {
super(nativeObject, millis, action, modifiers);
this.flavor = MOUSE;
this.x = x;
this.y = y;
this.button = button;
this.count = count;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
/** Which button was pressed, either LEFT, CENTER, or RIGHT. */
public int getButton() {
return button;
}
/**
* Number of clicks for mouse button events, or the number of steps (positive
* or negative depending on direction) for a mouse wheel event.
* Wheel events follow Java (see <a href="http://docs.oracle.com/javase/6/docs/api/java/awt/event/MouseWheelEvent.html#getWheelRotation()">here</a>), so
* getAmount() will return "negative values if the mouse wheel was rotated
* up or away from the user" and positive values in the other direction.
* On Mac OS X, this will be reversed when "natural" scrolling is enabled
* in System Preferences &rarr Mouse.
*/
public int getCount() {
return count;
}
private String actionString() {
switch (action) {
default:
return "UNKNOWN";
case CLICK:
return "CLICK";
case DRAG:
return "DRAG";
case ENTER:
return "ENTER";
case EXIT:
return "EXIT";
case MOVE:
return "MOVE";
case PRESS:
return "PRESS";
case RELEASE:
return "RELEASE";
case WHEEL:
return "WHEEL";
}
}
@Override
public String toString() {
return String.format("<MouseEvent %s@%d,%d count:%d button:%d>",
actionString(), x, y, count, button);
}
}