@cornerstonejs/tools 0.52.3 → 0.53.0

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.
@@ -6,44 +6,69 @@ import { copyPoints, copyPointsList, getDeltaDistanceBetweenIPoints, getDeltaDis
6
6
  import { Settings } from '@cornerstonejs/core';
7
7
  const runtimeSettings = Settings.getRuntimeSettings();
8
8
  const { TOUCH_START, TOUCH_START_ACTIVATE, TOUCH_PRESS, TOUCH_DRAG, TOUCH_END, TOUCH_TAP, TOUCH_SWIPE, } = Events;
9
+ const zeroIPoint = {
10
+ page: [0, 0],
11
+ client: [0, 0],
12
+ canvas: [0, 0],
13
+ world: [0, 0, 0],
14
+ };
15
+ const zeroIDistance = {
16
+ page: 0,
17
+ client: 0,
18
+ canvas: 0,
19
+ world: 0,
20
+ };
9
21
  const defaultState = {
10
22
  renderingEngineId: undefined,
11
23
  viewportId: undefined,
12
24
  element: null,
13
25
  startPointsList: [
14
26
  {
15
- page: [0, 0],
16
- client: [0, 0],
17
- canvas: [0, 0],
18
- world: [0, 0, 0],
27
+ ...zeroIPoint,
19
28
  touch: null,
20
29
  },
21
30
  ],
22
31
  lastPointsList: [
23
32
  {
24
- page: [0, 0],
25
- client: [0, 0],
26
- canvas: [0, 0],
27
- world: [0, 0, 0],
33
+ ...zeroIPoint,
28
34
  touch: null,
29
35
  },
30
36
  ],
31
- touchStartTimeout: null,
32
- touchStartDelay: 100,
33
37
  isTouchStart: false,
38
+ startTime: null,
34
39
  pressTimeout: null,
35
40
  pressDelay: 700,
36
41
  pressMaxDistance: 5,
42
+ accumulatedDistance: zeroIDistance,
43
+ swipeDistanceThreshold: 48,
44
+ swiped: false,
45
+ swipeToleranceMs: 300,
46
+ };
47
+ const defaultTapState = {
48
+ renderingEngineId: undefined,
49
+ viewportId: undefined,
50
+ element: null,
51
+ startPointsList: [
52
+ {
53
+ ...zeroIPoint,
54
+ touch: null,
55
+ },
56
+ ],
37
57
  taps: 0,
38
58
  tapTimeout: null,
39
- tapMaxDistance: 3,
40
- swipeTimeout: null,
41
- swipeDistanceThreshold: 70,
59
+ tapMaxDistance: 24,
60
+ tapToleranceMs: 300,
42
61
  };
43
62
  let state = JSON.parse(JSON.stringify(defaultState));
63
+ let tapState = JSON.parse(JSON.stringify(defaultTapState));
44
64
  function triggerEventCallback(ele, name, eventDetail) {
45
65
  if (runtimeSettings.get('debug')) {
46
- console.debug(name, eventDetail);
66
+ if (name === 'CORNERSTONE_TOOLS_TOUCH_DRAG') {
67
+ console.debug(name);
68
+ }
69
+ else {
70
+ console.debug(name, eventDetail);
71
+ }
47
72
  }
48
73
  return triggerEvent(ele, name, eventDetail);
49
74
  }
@@ -53,43 +78,39 @@ function touchStartListener(evt) {
53
78
  const { renderingEngineId, viewportId } = enabledElement;
54
79
  state.renderingEngineId = renderingEngineId;
55
80
  state.viewportId = viewportId;
56
- if (!state.isTouchStart) {
57
- clearTimeout(state.touchStartTimeout);
58
- clearTimeout(state.pressTimeout);
59
- clearTimeout(state.tapTimeout);
60
- state.touchStartTimeout = setTimeout(() => {
61
- _onTouchStart(evt);
62
- }, state.touchStartDelay);
63
- state.pressTimeout = setTimeout(() => {
64
- _onTouchPress(evt);
65
- }, state.pressDelay);
66
- document.addEventListener('touchend', _onTouchEnd);
67
- }
81
+ if (state.isTouchStart)
82
+ return;
83
+ clearTimeout(state.pressTimeout);
84
+ state.pressTimeout = setTimeout(() => _onTouchPress(evt), state.pressDelay);
85
+ _onTouchStart(evt);
86
+ document.addEventListener('touchmove', _onTouchDrag);
87
+ document.addEventListener('touchend', _onTouchEnd);
68
88
  }
69
89
  function _onTouchPress(evt) {
70
- if (getDeltaDistance(state.startPointsList, state.lastPointsList).canvas <
71
- state.pressMaxDistance) {
72
- const eventDetail = {
73
- event: evt,
74
- eventName: TOUCH_PRESS,
75
- renderingEngineId: state.renderingEngineId,
76
- viewportId: state.viewportId,
77
- camera: {},
78
- element: state.element,
79
- startPointsList: copyPointsList(state.startPointsList),
80
- lastPointsList: copyPointsList(state.lastPointsList),
81
- startPoints: copyPoints(getMeanTouchPoints(state.startPointsList)),
82
- lastPoints: copyPoints(getMeanTouchPoints(state.lastPointsList)),
83
- };
84
- triggerEventCallback(eventDetail.element, TOUCH_PRESS, eventDetail);
85
- }
90
+ const totalDistance = state.accumulatedDistance.canvas;
91
+ if (totalDistance > state.pressMaxDistance)
92
+ return;
93
+ const eventDetail = {
94
+ event: evt,
95
+ eventName: TOUCH_PRESS,
96
+ renderingEngineId: state.renderingEngineId,
97
+ viewportId: state.viewportId,
98
+ camera: {},
99
+ element: state.element,
100
+ startPointsList: copyPointsList(state.startPointsList),
101
+ lastPointsList: copyPointsList(state.lastPointsList),
102
+ startPoints: copyPoints(getMeanTouchPoints(state.startPointsList)),
103
+ lastPoints: copyPoints(getMeanTouchPoints(state.lastPointsList)),
104
+ };
105
+ triggerEventCallback(eventDetail.element, TOUCH_PRESS, eventDetail);
86
106
  }
87
107
  function _onTouchStart(evt) {
88
108
  state.isTouchStart = true;
109
+ state.startTime = new Date();
89
110
  const startPointsList = getTouchEventPoints(evt, state.element);
90
111
  const startPoints = getMeanTouchPoints(startPointsList);
91
- const deltaPoints = getDeltaPoints(startPointsList, startPointsList);
92
- const deltaDistance = getDeltaDistanceBetweenIPoints(startPointsList, startPointsList);
112
+ const deltaPoints = zeroIPoint;
113
+ const deltaDistance = zeroIDistance;
93
114
  const eventDetail = {
94
115
  event: evt,
95
116
  eventName: TOUCH_START,
@@ -112,17 +133,25 @@ function _onTouchStart(evt) {
112
133
  if (eventDidPropagate) {
113
134
  triggerEventCallback(eventDetail.element, TOUCH_START_ACTIVATE, eventDetail);
114
135
  }
115
- document.addEventListener('touchmove', _onTouchDrag);
116
136
  }
117
137
  function _onTouchDrag(evt) {
118
138
  const currentPointsList = getTouchEventPoints(evt, state.element);
119
139
  const lastPointsList = _updateTouchEventsLastPoints(state.element, state.lastPointsList);
120
140
  const deltaPoints = currentPointsList.length === lastPointsList.length
121
141
  ? getDeltaPoints(currentPointsList, lastPointsList)
122
- : getDeltaPoints(currentPointsList, currentPointsList);
142
+ : zeroIPoint;
123
143
  const deltaDistance = currentPointsList.length === lastPointsList.length
124
144
  ? getDeltaDistanceBetweenIPoints(currentPointsList, lastPointsList)
125
- : getDeltaDistanceBetweenIPoints(currentPointsList, currentPointsList);
145
+ : zeroIDistance;
146
+ const totalDistance = currentPointsList.length === lastPointsList.length
147
+ ? getDeltaDistance(currentPointsList, state.lastPointsList)
148
+ : zeroIDistance;
149
+ state.accumulatedDistance = {
150
+ page: state.accumulatedDistance.page + totalDistance.page,
151
+ client: state.accumulatedDistance.client + totalDistance.client,
152
+ canvas: state.accumulatedDistance.canvas + totalDistance.canvas,
153
+ world: state.accumulatedDistance.world + totalDistance.world,
154
+ };
126
155
  const eventDetail = {
127
156
  event: evt,
128
157
  eventName: TOUCH_DRAG,
@@ -136,112 +165,108 @@ function _onTouchDrag(evt) {
136
165
  startPointsList: copyPointsList(state.startPointsList),
137
166
  lastPointsList: copyPointsList(lastPointsList),
138
167
  currentPointsList,
139
- deltaPoints,
140
- deltaDistance,
168
+ deltaPoints: deltaPoints,
169
+ deltaDistance: deltaDistance,
141
170
  };
142
171
  triggerEventCallback(state.element, TOUCH_DRAG, eventDetail);
143
172
  _checkTouchSwipe(evt, deltaPoints);
144
173
  state.lastPointsList = copyPointsList(currentPointsList);
145
174
  }
146
175
  function _onTouchEnd(evt) {
147
- clearTimeout(state.touchStartTimeout);
148
176
  clearTimeout(state.pressTimeout);
149
- clearTimeout(state.tapTimeout);
150
- if (state.isTouchStart) {
151
- const currentPointsList = getTouchEventPoints(evt, state.element);
152
- const lastPointsList = _updateTouchEventsLastPoints(state.element, state.lastPointsList);
153
- const deltaPoints = currentPointsList.length === lastPointsList.length
154
- ? getDeltaPoints(currentPointsList, lastPointsList)
155
- : getDeltaPoints(currentPointsList, currentPointsList);
156
- const deltaDistance = currentPointsList.length === lastPointsList.length
157
- ? getDeltaDistanceBetweenIPoints(currentPointsList, lastPointsList)
158
- : getDeltaDistanceBetweenIPoints(currentPointsList, currentPointsList);
159
- const eventDetail = {
160
- event: evt,
161
- eventName: TOUCH_END,
162
- element: state.element,
163
- renderingEngineId: state.renderingEngineId,
164
- viewportId: state.viewportId,
165
- camera: {},
166
- startPointsList: copyPointsList(state.startPointsList),
167
- lastPointsList: copyPointsList(lastPointsList),
168
- currentPointsList,
169
- startPoints: getMeanTouchPoints(state.startPointsList),
170
- lastPoints: getMeanTouchPoints(lastPointsList),
171
- currentPoints: getMeanTouchPoints(currentPointsList),
172
- deltaPoints,
173
- deltaDistance,
174
- };
175
- triggerEventCallback(eventDetail.element, TOUCH_END, eventDetail);
176
- state = JSON.parse(JSON.stringify(defaultState));
177
- document.removeEventListener('touchmove', _onTouchDrag);
178
- }
179
- else {
180
- _onTouchTap(evt);
181
- }
182
- document.removeEventListener('touchend', _onTouchEnd);
183
- }
184
- function _onTouchTap(evt) {
185
177
  const currentPointsList = getTouchEventPoints(evt, state.element);
186
178
  const lastPointsList = _updateTouchEventsLastPoints(state.element, state.lastPointsList);
187
- if (state.taps > 0 &&
188
- getDeltaDistance(currentPointsList, lastPointsList).canvas <
189
- state.tapMaxDistance) {
190
- state.taps = state.taps + 1;
179
+ const deltaPoints = currentPointsList.length === lastPointsList.length
180
+ ? getDeltaPoints(currentPointsList, lastPointsList)
181
+ : getDeltaPoints(currentPointsList, currentPointsList);
182
+ const deltaDistance = currentPointsList.length === lastPointsList.length
183
+ ? getDeltaDistanceBetweenIPoints(currentPointsList, lastPointsList)
184
+ : getDeltaDistanceBetweenIPoints(currentPointsList, currentPointsList);
185
+ const eventDetail = {
186
+ event: evt,
187
+ eventName: TOUCH_END,
188
+ element: state.element,
189
+ renderingEngineId: state.renderingEngineId,
190
+ viewportId: state.viewportId,
191
+ camera: {},
192
+ startPointsList: copyPointsList(state.startPointsList),
193
+ lastPointsList: copyPointsList(lastPointsList),
194
+ currentPointsList,
195
+ startPoints: getMeanTouchPoints(state.startPointsList),
196
+ lastPoints: getMeanTouchPoints(lastPointsList),
197
+ currentPoints: getMeanTouchPoints(currentPointsList),
198
+ deltaPoints,
199
+ deltaDistance,
200
+ };
201
+ triggerEventCallback(eventDetail.element, TOUCH_END, eventDetail);
202
+ _checkTouchTap(evt);
203
+ state = JSON.parse(JSON.stringify(defaultState));
204
+ document.removeEventListener('touchmove', _onTouchDrag);
205
+ document.removeEventListener('touchend', _onTouchEnd);
206
+ }
207
+ function _checkTouchTap(evt) {
208
+ const currentTime = new Date().getTime();
209
+ const startTime = state.startTime.getTime();
210
+ if (currentTime - startTime > tapState.tapToleranceMs)
211
+ return;
212
+ if (tapState.taps === 0) {
213
+ tapState.element = state.element;
214
+ tapState.renderingEngineId = state.renderingEngineId;
215
+ tapState.viewportId = state.viewportId;
216
+ tapState.startPointsList = state.startPointsList;
191
217
  }
192
- if (state.taps === 0) {
193
- state.taps = state.taps + 1;
218
+ if (tapState.taps > 0 &&
219
+ !(tapState.element == state.element &&
220
+ tapState.renderingEngineId == state.renderingEngineId &&
221
+ tapState.viewportId == state.viewportId)) {
222
+ return;
194
223
  }
195
- state.lastPointsList = copyPointsList(currentPointsList);
196
- state.tapTimeout = setTimeout(() => {
224
+ const currentPointsList = getTouchEventPoints(evt, tapState.element);
225
+ const distanceFromStart = getDeltaDistance(currentPointsList, tapState.startPointsList).canvas;
226
+ if (distanceFromStart > tapState.tapMaxDistance)
227
+ return;
228
+ clearTimeout(tapState.tapTimeout);
229
+ tapState.taps += 1;
230
+ tapState.tapTimeout = setTimeout(() => {
197
231
  const eventDetail = {
198
232
  event: evt,
199
233
  eventName: TOUCH_TAP,
200
- element: state.element,
201
- renderingEngineId: state.renderingEngineId,
202
- viewportId: state.viewportId,
234
+ element: tapState.element,
235
+ renderingEngineId: tapState.renderingEngineId,
236
+ viewportId: tapState.viewportId,
203
237
  camera: {},
204
238
  currentPointsList,
205
239
  currentPoints: getMeanTouchPoints(currentPointsList),
206
- taps: state.taps,
240
+ taps: tapState.taps,
207
241
  };
208
242
  triggerEventCallback(eventDetail.element, TOUCH_TAP, eventDetail);
209
- state = JSON.parse(JSON.stringify(defaultState));
210
- }, state.touchStartDelay - 10);
243
+ tapState = JSON.parse(JSON.stringify(defaultTapState));
244
+ }, tapState.tapToleranceMs);
211
245
  }
212
246
  function _checkTouchSwipe(evt, deltaPoints) {
247
+ const currentTime = new Date().getTime();
248
+ const startTime = state.startTime.getTime();
249
+ if (state.swiped || currentTime - startTime > state.swipeToleranceMs)
250
+ return;
213
251
  const [x, y] = deltaPoints.canvas;
214
- if (Math.abs(x) > state.swipeDistanceThreshold ||
215
- Math.abs(y) > state.swipeDistanceThreshold) {
216
- const eventDetail = {
217
- event: evt,
218
- eventName: TOUCH_SWIPE,
219
- renderingEngineId: state.renderingEngineId,
220
- viewportId: state.viewportId,
221
- camera: {},
222
- element: state.element,
223
- swipe: null,
224
- };
225
- clearTimeout(state.swipeTimeout);
226
- state.swipeTimeout = setTimeout(() => {
227
- if (Math.abs(x) > Math.abs(y)) {
228
- if (x > 0) {
229
- eventDetail.swipe = Swipe.RIGHT;
230
- }
231
- else {
232
- eventDetail.swipe = Swipe.LEFT;
233
- }
234
- }
235
- else {
236
- if (y > 0) {
237
- eventDetail.swipe = Swipe.DOWN;
238
- }
239
- else {
240
- eventDetail.swipe = Swipe.UP;
241
- }
242
- }
243
- triggerEventCallback(eventDetail.element, TOUCH_SWIPE, eventDetail);
244
- }, state.touchStartDelay);
252
+ const eventDetail = {
253
+ event: evt,
254
+ eventName: TOUCH_SWIPE,
255
+ renderingEngineId: state.renderingEngineId,
256
+ viewportId: state.viewportId,
257
+ camera: {},
258
+ element: state.element,
259
+ swipe: null,
260
+ };
261
+ if (Math.abs(x) > state.swipeDistanceThreshold) {
262
+ eventDetail.swipe = x > 0 ? Swipe.RIGHT : Swipe.LEFT;
263
+ triggerEventCallback(eventDetail.element, TOUCH_SWIPE, eventDetail);
264
+ state.swiped = true;
265
+ }
266
+ if (Math.abs(y) > state.swipeDistanceThreshold) {
267
+ eventDetail.swipe = y > 0 ? Swipe.DOWN : Swipe.UP;
268
+ triggerEventCallback(eventDetail.element, TOUCH_SWIPE, eventDetail);
269
+ state.swiped = true;
245
270
  }
246
271
  }
247
272
  function _updateTouchEventsLastPoints(element, lastPoints) {
@@ -1 +1 @@
1
- {"version":3,"file":"touchStartListener.js","sourceRoot":"","sources":["../../../../src/eventListeners/touch/touchStartListener.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"touchStartListener.js","sourceRoot":"","sources":["../../../../src/eventListeners/touch/touchStartListener.ts"],"names":[],"mappings":"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"}