This repository was archived by the owner on Feb 23, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 65
/
Copy pathInteractiveTarget.hx
309 lines (273 loc) · 7.63 KB
/
InteractiveTarget.hx
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
package pixi.interaction;
import pixi.core.math.shapes.Circle;
import pixi.core.math.shapes.Ellipse;
import pixi.core.math.shapes.Polygon;
import pixi.core.math.shapes.Rectangle;
import pixi.core.math.shapes.RoundedRectangle;
import pixi.interaction.EventEmitter;
import haxe.extern.EitherType;
@:native("PIXI.interaction.interactiveTarget")
extern class InteractiveTarget extends EventEmitter
{
/**
* Fired when a pointer device button (usually a mouse button) is pressed on the display
* object.
*
* @event mousedown
* @memberof InteractiveTarget#
*/
dynamic function mousedown(event:EventTarget):Void;
/**
* Fired when a pointer device secondary button (usually a mouse right-button) is pressed
* on the display object.
*
* @event rightdown
* @memberof InteractiveTarget#
*/
dynamic function rightdown(event:EventTarget):Void;
/**
* Fired when a pointer device button (usually a mouse button) is released over the display
* object.
*
* @event mouseup
* @memberof InteractiveTarget#
*/
dynamic function mouseup(event:EventTarget):Void;
/**
* Fired when a pointer device secondary button (usually a mouse right-button) is released
* over the display object.
*
* @event rightup
* @memberof InteractiveTarget#
*/
dynamic function rightup(event:EventTarget):Void;
/**
* Fired when a pointer device button (usually a mouse button) is pressed and released on
* the display object.
*
* @event click
* @memberof InteractiveTarget#
*/
dynamic function click(event:EventTarget):Void;
/**
* Fired when a pointer device secondary button (usually a mouse right-button) is pressed
* and released on the display object.
*
* @event rightclick
* @memberof InteractiveTarget#
*/
dynamic function rightclick(event:EventTarget):Void;
/**
* Fired when a pointer device button (usually a mouse button) is released outside the
* display object that initially registered a
* [mousedown]{@link PIXI.interaction.InteractionManager#event:mousedown}.
*
* @event mouseupoutside
* @memberof InteractiveTarget#
*/
dynamic function mouseupoutside(event:EventTarget):Void;
/**
* Fired when a pointer device secondary button (usually a mouse right-button) is released
* outside the display object that initially registered a
* [rightdown]{@link PIXI.interaction.InteractionManager#event:rightdown}.
*
* @event rightupoutside
* @memberof InteractiveTarget#
*/
dynamic function rightupoutside(event:EventTarget):Void;
/**
* Fired when a pointer device (usually a mouse) is moved while over the display object
*
* @event mousemove
* @memberof InteractiveTarget#
*/
dynamic function mousemove(event:EventTarget):Void;
/**
* Fired when a pointer device (usually a mouse) is moved onto the display object
*
* @event mouseover
* @memberof InteractiveTarget#
*/
dynamic function mouseover(event:EventTarget):Void;
/**
* Fired when a pointer device (usually a mouse) is moved off the display object
*
* @event mouseout
* @memberof InteractiveTarget#
*/
dynamic function mouseout(event:EventTarget):Void;
/**
* Fired when a pointer device button is pressed on the display object.
*
* @event pointerdown
* @memberof InteractiveTarget#
*/
dynamic function pointerdown(event:EventTarget):Void;
/**
* Fired when a pointer device button is released over the display object.
*
* @event pointerup
* @memberof InteractiveTarget#
*/
dynamic function pointerup(event:EventTarget):Void;
/**
* Fired when a pointer device button is pressed and released on the display object.
*
* @event pointertap
* @memberof InteractiveTarget#
*/
dynamic function pointertap(event:EventTarget):Void;
/**
* Fired when a pointer device button is released outside the display object that initially
* registered a [pointerdown]{@link PIXI.interaction.InteractionManager#event:pointerdown}.
*
* @event pointerupoutside
* @memberof InteractiveTarget#
*/
dynamic function pointerupoutside(event:EventTarget):Void;
/**
* Fired when a pointer device is moved while over the display object
*
* @event pointermove
* @memberof InteractiveTarget#
*/
dynamic function pointermove(event:EventTarget):Void;
/**
* Fired when a pointer device is moved onto the display object
*
* @event pointerover
* @memberof InteractiveTarget#
*/
dynamic function pointerover(event:EventTarget):Void;
/**
* Fired when a pointer device is moved off the display object
*
* @event pointerout
* @memberof InteractiveTarget#
*/
dynamic function pointerout(event:EventTarget):Void;
/**
* Fired when a touch point is placed on the display object.
*
* @event touchstart
* @memberof InteractiveTarget#
*/
dynamic function touchstart(event:EventTarget):Void;
/**
* Fired when a touch point is removed from the display object.
*
* @event touchend
* @memberof InteractiveTarget#
*/
dynamic function touchend(event:EventTarget):Void;
/**
* Fired when a touch point is placed and removed from the display object.
*
* @event tap
* @memberof InteractiveTarget#
*/
dynamic function tap(event:EventTarget):Void;
/**
* Fired when a touch point is removed outside of the display object that initially
* registered a [touchstart]{@link PIXI.interaction.InteractionManager#event:touchstart}.
*
* @event touchendoutside
* @memberof InteractiveTarget#
*/
dynamic function touchendoutside(event:EventTarget):Void;
/**
* Fired when a touch point is moved along the display object.
*
* @event touchmove
* @memberof InteractiveTarget#
*/
dynamic function touchmove(event:EventTarget):Void;
/**
* Indicates if the displayObject is interactive or not.
*
* @member {Bool}
* @default false
* @memberof InteractiveTarget#
*/
var interactive:Bool;
/**
* Indicates if the children of displayObject are interactive or not.
*
* @member {Bool}
* @default true
* @memberof InteractiveTarget#
*/
var interactiveChildren: Bool;
/**
* Interaction shape. Children will be hit first, then this shape will be checked.
*
* @member {EitherType<Rectangle, EitherType<Circle, EitherType<Ellipse, EitherType<Polygon, RoundedRectangle>>>>}
* @memberof InteractiveTarget#
* @default null
*/
var hitArea: EitherType< Rectangle,
EitherType< Circle,
EitherType< Ellipse,
EitherType< Polygon,
RoundedRectangle
>>>>;
/**
* Indicates if the displayObject uses button mode or normal mode.
*
* @member {Bool}
* @default false
* @memberof InteractiveTarget#
*/
var buttonMode:Bool;
/**
* Default cursor.
*
* @member {String}
* @default pointer
* @memberof InteractiveTarget#
*/
var defaultCursor:String;
// some internal checks..
/**
* Internal check to detect if the mouse cursor is hovered over the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _over: Bool;
/**
* Internal check to detect if the left mouse button is pressed on the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _isLeftDown: Bool;
/**
* Internal check to detect if the right mouse button is pressed on the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _isRightDown: Bool;
/**
* Internal check to detect if the pointer cursor is hovered over the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _pointerOver: Bool;
/**
* Internal check to detect if the pointer is down on the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _pointerDown: Bool;
/**
* Internal check to detect if a user has touched the displayObject
*
* @member {Bool}
* @private
*/
@:noCompletion var _touchDown: Bool;
}