@flashist/flibs 0.0.368 → 0.0.370
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -18,6 +18,9 @@ export declare class DragHelper extends BaseObject {
|
|
|
18
18
|
protected startDragViewShiftPoint: Point;
|
|
19
19
|
dragUpdateDelay: number;
|
|
20
20
|
protected dragStartTime: number;
|
|
21
|
+
minDistanceToStartDrag: number;
|
|
22
|
+
protected lastPointerDownEvent: FederatedPointerEvent;
|
|
23
|
+
isDragCancelOnMultitouch: boolean;
|
|
21
24
|
constructor();
|
|
22
25
|
protected construction(): void;
|
|
23
26
|
destruction(): void;
|
|
@@ -25,15 +28,16 @@ export declare class DragHelper extends BaseObject {
|
|
|
25
28
|
protected updateHitAreaListeners(): void;
|
|
26
29
|
protected addHitAreaListeners(dispatcher: Container): void;
|
|
27
30
|
protected removeHitAreaListeners(): void;
|
|
28
|
-
minDistanceToStartDrag: number;
|
|
29
|
-
protected lastPointerDownEvent: FederatedPointerEvent;
|
|
30
31
|
protected onPointerDown(event: FederatedPointerEvent): void;
|
|
31
32
|
protected onPointerMove(event: FederatedPointerEvent): void;
|
|
32
33
|
protected onPointerUp(event: FederatedPointerEvent): void;
|
|
34
|
+
protected dragReset(): void;
|
|
33
35
|
protected dispatchDragStartEvent(): void;
|
|
34
36
|
protected dispatchDragUpdateEvent(): void;
|
|
35
37
|
protected dispatchDragEndEvent(): void;
|
|
36
|
-
protected startDrag(
|
|
38
|
+
protected startDrag(globalX: number, globalY: number): void;
|
|
39
|
+
protected setActivePointerId(pointerId: number): void;
|
|
40
|
+
protected resetActivePointerId(): void;
|
|
37
41
|
stopDrag(): void;
|
|
38
42
|
protected updateDrag(pointerId: number, globalX: number, globalY: number): void;
|
|
39
43
|
get isDragActive(): boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BaseObject, EventListenerHelper, NumberTools } from "@flashist/fcore";
|
|
2
|
-
import { InteractiveEvent, Point } from "../../index";
|
|
2
|
+
import { InputManager, InteractiveEvent, Point } from "../../index";
|
|
3
3
|
import { DragHelperEvent } from "./DragHelperEvent";
|
|
4
4
|
export class DragHelper extends BaseObject {
|
|
5
5
|
constructor() {
|
|
@@ -18,6 +18,7 @@ export class DragHelper extends BaseObject {
|
|
|
18
18
|
this.dragUpdateDelay = 0;
|
|
19
19
|
this.dragStartTime = 0;
|
|
20
20
|
this.minDistanceToStartDrag = 0;
|
|
21
|
+
this.isDragCancelOnMultitouch = true;
|
|
21
22
|
}
|
|
22
23
|
construction() {
|
|
23
24
|
super.construction();
|
|
@@ -63,12 +64,25 @@ export class DragHelper extends BaseObject {
|
|
|
63
64
|
// FApp.instance.ticker.remove(this.onTick, this);
|
|
64
65
|
}
|
|
65
66
|
onPointerDown(event) {
|
|
66
|
-
this.
|
|
67
|
-
|
|
68
|
-
|
|
67
|
+
if (this.activePointerId) {
|
|
68
|
+
if (this.isDragCancelOnMultitouch) {
|
|
69
|
+
if (InputManager.instance.getActivePointers().length > 1) {
|
|
70
|
+
this.dragReset();
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
this.lastPointerDownEvent = event;
|
|
76
|
+
this.setActivePointerId(event.pointerId);
|
|
77
|
+
if (this.minDistanceToStartDrag <= 0) {
|
|
78
|
+
this.startDrag(event.globalX, event.globalY);
|
|
79
|
+
}
|
|
69
80
|
}
|
|
70
81
|
}
|
|
71
82
|
onPointerMove(event) {
|
|
83
|
+
if (!this.activePointerId) {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
72
86
|
if (event.pointerId === this.activePointerId) {
|
|
73
87
|
let shouldStartDrag = false;
|
|
74
88
|
let shouldUpdateDrag = false;
|
|
@@ -83,35 +97,16 @@ export class DragHelper extends BaseObject {
|
|
|
83
97
|
}
|
|
84
98
|
}
|
|
85
99
|
if (shouldStartDrag) {
|
|
86
|
-
this.startDrag(this.lastPointerDownEvent.
|
|
100
|
+
this.startDrag(this.lastPointerDownEvent.globalX, this.lastPointerDownEvent.globalY);
|
|
87
101
|
}
|
|
88
102
|
if (shouldUpdateDrag) {
|
|
89
103
|
this.updateDrag(event.pointerId, event.globalX, event.globalY);
|
|
90
104
|
}
|
|
91
|
-
// if (this.isDragActive) {
|
|
92
|
-
// this.updateDrag(event.pointerId, event.globalX, event.globalY);
|
|
93
|
-
// } else if (this.minDistanceToStartDrag > 0) {
|
|
94
|
-
// const tempDistance: number = NumberTools.getDistance(
|
|
95
|
-
// event.globalX,
|
|
96
|
-
// event.globalY,
|
|
97
|
-
// this.lastPointerDownEvent.globalX,
|
|
98
|
-
// this.lastPointerDownEvent.globalY
|
|
99
|
-
// );
|
|
100
|
-
// if (tempDistance > this.minDistanceToStartDrag) {
|
|
101
|
-
// // this.isDragActive = true;
|
|
102
|
-
// this.startDrag(
|
|
103
|
-
// this.lastPointerDownEvent.pointerId,
|
|
104
|
-
// this.lastPointerDownEvent.globalX,
|
|
105
|
-
// this.lastPointerDownEvent.globalY
|
|
106
|
-
// );
|
|
107
|
-
// this.updateDrag(event.pointerId, event.globalX, event.globalY);
|
|
108
|
-
// }
|
|
109
|
-
// }
|
|
110
105
|
}
|
|
111
106
|
else {
|
|
112
107
|
// If there are more than 1 pointer ID (or something is wrong with the original poitner id),
|
|
113
108
|
// the stop the drag logic (stop drag completely, only 1-pointer-drags are allowed)
|
|
114
|
-
this.
|
|
109
|
+
this.dragReset();
|
|
115
110
|
}
|
|
116
111
|
}
|
|
117
112
|
onPointerUp(event) {
|
|
@@ -121,8 +116,14 @@ export class DragHelper extends BaseObject {
|
|
|
121
116
|
if (event.pointerId !== this.activePointerId) {
|
|
122
117
|
return;
|
|
123
118
|
}
|
|
124
|
-
this.
|
|
119
|
+
if (this.isDragActive) {
|
|
120
|
+
this.updateDrag(event.pointerId, event.globalX, event.globalY);
|
|
121
|
+
}
|
|
122
|
+
this.dragReset();
|
|
123
|
+
}
|
|
124
|
+
dragReset() {
|
|
125
125
|
this.stopDrag();
|
|
126
|
+
this.resetActivePointerId();
|
|
126
127
|
}
|
|
127
128
|
// protected onTick(): void {
|
|
128
129
|
// if (this.isDragStarted) {
|
|
@@ -140,12 +141,11 @@ export class DragHelper extends BaseObject {
|
|
|
140
141
|
dispatchDragEndEvent() {
|
|
141
142
|
this.dispatchEvent(DragHelperEvent.DRAG_END);
|
|
142
143
|
}
|
|
143
|
-
startDrag(
|
|
144
|
+
startDrag(globalX, globalY) {
|
|
144
145
|
if (this.isDragActive) {
|
|
145
146
|
return;
|
|
146
147
|
}
|
|
147
148
|
this.isDragActive = true;
|
|
148
|
-
this.activePointerId = pointerId;
|
|
149
149
|
// const globalPos: Point = FApp.instance.getGlobalInteractionPosition();
|
|
150
150
|
this.startDragGlobalX = globalX;
|
|
151
151
|
this.startDragGlobalY = globalY;
|
|
@@ -161,12 +161,17 @@ export class DragHelper extends BaseObject {
|
|
|
161
161
|
this.changeDragGlobalY = 0;
|
|
162
162
|
this.dispatchDragStartEvent();
|
|
163
163
|
}
|
|
164
|
+
setActivePointerId(pointerId) {
|
|
165
|
+
this.activePointerId = pointerId;
|
|
166
|
+
}
|
|
167
|
+
resetActivePointerId() {
|
|
168
|
+
this.activePointerId = null;
|
|
169
|
+
}
|
|
164
170
|
stopDrag() {
|
|
165
171
|
if (!this.isDragActive) {
|
|
166
172
|
return;
|
|
167
173
|
}
|
|
168
174
|
this.isDragActive = false;
|
|
169
|
-
this.activePointerId = null;
|
|
170
175
|
this.dispatchDragEndEvent();
|
|
171
176
|
}
|
|
172
177
|
updateDrag(pointerId, globalX, globalY) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DragHelper.js","sourceRoot":"","sources":["../../../src/other/dragHelper/DragHelper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE/E,OAAO,EAEH,gBAAgB,EAAE,KAAK,EAC1B,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,UAAW,SAAQ,UAAU;
|
|
1
|
+
{"version":3,"file":"DragHelper.js","sourceRoot":"","sources":["../../../src/other/dragHelper/DragHelper.ts"],"names":[],"mappings":"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"}
|