-
-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Expand file tree
/
Copy pathMouseEvent.java
More file actions
149 lines (117 loc) · 3.76 KB
/
MouseEvent.java
File metadata and controls
149 lines (117 loc) · 3.76 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
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/* -*- 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 clickCount;
// protected float amount;
protected int count;
// public MouseEvent(int x, int y) {
// this(null,
// System.currentTimeMillis(), PRESSED, 0,
// x, y, PConstants.LEFT, 1);
// }
public MouseEvent(Object nativeObject,
long millis, int action, int modifiers,
int x, int y, int button, int count) { //float amount) { //int clickCount) {
super(nativeObject, millis, action, modifiers);
this.flavor = MOUSE;
this.x = x;
this.y = y;
this.button = button;
//this.clickCount = clickCount;
//this.amount = amount;
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;
}
// public void setButton(int button) {
// this.button = button;
// }
/** Do not use, getCount() is the correct method. */
@Deprecated
public int getClickCount() {
//return (int) amount; //clickCount;
return count;
}
/** Do not use, getCount() is the correct method. */
@Deprecated
public float getAmount() {
//return amount;
return count;
}
/**
* 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;
}
// public void setClickCount(int clickCount) {
// this.clickCount = clickCount;
// }
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);
}
}