-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathButton.pde
121 lines (93 loc) · 2.32 KB
/
Button.pde
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
abstract class Button implements UIButtonElement{
ArrayList _BListeners;
boolean _active;
PVector _Pos, _Size;
int _ID;
PImage _back;
Button (PVector aPos, PVector aSize, int ID, String imagePath){
_Pos = aPos;
_Size = aSize;
_active = false;
_ID = ID;
_BListeners = new ArrayList();
if (!imagePath.equals("")){
_back = loadImage(imagePath);
_back.resize((int) _Size.x, (int) _Size.y);
}
}
Button (int ID, String imagePath){
_active = false;
_ID = ID;
_BListeners = new ArrayList();
if (!imagePath.equals("")){
_back = loadImage(imagePath);
}
}
void addListener(ButtonListener aListener){
_BListeners.add(aListener);
}
PVector getPosition(){
return _Pos;
}
PVector getSize(){
return _Size;
}
boolean hasBackground(){
return (_back != null) ? true : false;
}
/************* from UIButtonElement ***************************/
void onCursorOver(){
_active = true;
publishOnOver();
}
void onCursorRelease(){
_active = false;
// we check for click here
publishOnRelease();
}
boolean isActive(){
return _active;
}
void deactivate(){
_active = false;
}
void setElementPos(PVector nPos){
_Pos = nPos;
}
void setElementSize(PVector nSize){
_Size = nSize;
if (hasBackground()){
_back.resize((int) _Size.x, (int) _Size.y);
}
}
/************* from UIElement ***************************/
void addChild(UIElement aChild){} // eventual labels, imagens, etc
// these can go to the children
//void renderElement();
//void updateElement();
//boolean isOver(TuioCursor tcur);
ArrayList getElementRArray(){
return new ArrayList();
}
ArrayList getMenuStructure() {
return null;
}
void publishOnRelease(){
for (int i = 0; i < _BListeners.size(); ++i){
ButtonListener bl = (ButtonListener) _BListeners.get(i);
bl.onRelease(_ID);
}
}
void publishOnOver(){
for (int i = 0; i < _BListeners.size(); ++i){
ButtonListener bl = (ButtonListener) _BListeners.get(i);
bl.onOver(_ID);
}
}
void publishClick(){
for (int i = 0; i < _BListeners.size(); ++i){
ButtonListener bl = (ButtonListener) _BListeners.get(i);
bl.onClick(_ID);
}
}
}