@cornerstonejs/tools 0.62.2 → 0.63.1

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.
Files changed (30) hide show
  1. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
  2. package/dist/cjs/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  3. package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -1
  4. package/dist/cjs/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
  5. package/dist/cjs/eventDispatchers/shared/getMouseModifier.d.ts +1 -1
  6. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js +1 -1
  7. package/dist/cjs/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  8. package/dist/cjs/eventListeners/mouse/mouseDownListener.js +2 -2
  9. package/dist/cjs/eventListeners/mouse/mouseDownListener.js.map +1 -1
  10. package/dist/cjs/utilities/cine/playClip.js +9 -6
  11. package/dist/cjs/utilities/cine/playClip.js.map +1 -1
  12. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js +1 -1
  13. package/dist/esm/eventDispatchers/shared/getActiveToolForMouseEvent.js.map +1 -1
  14. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js +2 -1
  15. package/dist/esm/eventDispatchers/shared/getActiveToolForTouchEvent.js.map +1 -1
  16. package/dist/esm/eventDispatchers/shared/getMouseModifier.d.ts +1 -1
  17. package/dist/esm/eventDispatchers/shared/getMouseModifier.js +1 -1
  18. package/dist/esm/eventDispatchers/shared/getMouseModifier.js.map +1 -1
  19. package/dist/esm/eventListeners/mouse/mouseDownListener.js +2 -2
  20. package/dist/esm/eventListeners/mouse/mouseDownListener.js.map +1 -1
  21. package/dist/esm/utilities/cine/playClip.js +9 -6
  22. package/dist/esm/utilities/cine/playClip.js.map +1 -1
  23. package/dist/umd/index.js +1 -1
  24. package/dist/umd/index.js.map +1 -1
  25. package/package.json +2 -2
  26. package/src/eventDispatchers/shared/getActiveToolForMouseEvent.ts +4 -3
  27. package/src/eventDispatchers/shared/getActiveToolForTouchEvent.ts +3 -1
  28. package/src/eventDispatchers/shared/getMouseModifier.ts +1 -1
  29. package/src/eventListeners/mouse/mouseDownListener.ts +2 -2
  30. package/src/utilities/cine/playClip.ts +10 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cornerstonejs/tools",
3
- "version": "0.62.2",
3
+ "version": "0.63.1",
4
4
  "description": "Cornerstone3D Tools",
5
5
  "main": "dist/umd/index.js",
6
6
  "types": "dist/esm/index.d.ts",
@@ -52,5 +52,5 @@
52
52
  "type": "individual",
53
53
  "url": "https://ohif.org/donate"
54
54
  },
55
- "gitHead": "cc3ce18f1c601fc911d8866987ae369a8f4c28df"
55
+ "gitHead": "693b331e265e5c11b832f2e33c3ad902bb5d63fa"
56
56
  }
@@ -22,10 +22,11 @@ export default function getActiveToolForMouseEvent(
22
22
  const { renderingEngineId, viewportId } = evt.detail;
23
23
  const mouseEvent = evt.detail.event;
24
24
 
25
- // If any keyboard modifier key is also pressed
26
- // Use the actual key if set, otherwise get the key from the mouse event.
25
+ // If any keyboard modifier key is also pressed - get the mouse version
26
+ // first since it handles combinations, while the key event handles non-modifier
27
+ // keys.
27
28
  const modifierKey =
28
- keyEventListener.getModifierKey() || getMouseModifier(mouseEvent);
29
+ getMouseModifier(mouseEvent) || keyEventListener.getModifierKey();
29
30
 
30
31
  const toolGroup = ToolGroupManager.getToolGroupForViewport(
31
32
  viewportId,
@@ -2,6 +2,7 @@ import { ToolGroupManager } from '../../store';
2
2
  import { MouseBindings, ToolModes } from '../../enums';
3
3
  import { EventTypes } from '../../types';
4
4
  import getMouseModifier from './getMouseModifier';
5
+ import { keyEventListener } from '../../eventListeners';
5
6
 
6
7
  const { Active } = ToolModes;
7
8
 
@@ -35,7 +36,8 @@ export default function getActiveToolForTouchEvent(
35
36
  const numTouchPoints = Object.keys(touchEvent.touches).length;
36
37
 
37
38
  // If any keyboard modifier key is also pressed
38
- const modifierKey = getMouseModifier(touchEvent);
39
+ const modifierKey =
40
+ getMouseModifier(touchEvent) || keyEventListener.getModifierKey();
39
41
 
40
42
  for (let j = 0; j < toolGroupToolNames.length; j++) {
41
43
  const toolName = toolGroupToolNames[j];
@@ -22,7 +22,7 @@ const getMouseModifierKey = (evt) => {
22
22
  return (evt.metaKey && kb.AltMeta) || kb.Alt;
23
23
  }
24
24
  if (evt.metaKey) {
25
- kb.Meta;
25
+ return kb.Meta;
26
26
  }
27
27
  return undefined;
28
28
  };
@@ -134,7 +134,7 @@ function mouseDownListener(evt: MouseEvent) {
134
134
  // on anything except left double click.
135
135
  doubleClickState.doubleClickTimeout = setTimeout(
136
136
  _doStateMouseDownAndUp,
137
- evt.button === 1 ? DOUBLE_CLICK_TOLERANCE_MS : 0
137
+ evt.buttons === 1 ? DOUBLE_CLICK_TOLERANCE_MS : 0
138
138
  );
139
139
 
140
140
  // First mouse down of a potential double click. So save it and start
@@ -144,7 +144,7 @@ function mouseDownListener(evt: MouseEvent) {
144
144
 
145
145
  state.element = <HTMLDivElement>evt.currentTarget;
146
146
 
147
- state.mouseButton = evt.button;
147
+ state.mouseButton = evt.buttons;
148
148
 
149
149
  const enabledElement = getEnabledElement(state.element);
150
150
  const { renderingEngineId, viewportId } = enabledElement;
@@ -298,16 +298,18 @@ function _stopClipWithData(playClipData) {
298
298
  }
299
299
  }
300
300
 
301
- function _getVolumeFromViewport(viewport): Types.IImageVolume {
302
- const actorEntry = viewport.getDefaultActor();
301
+ function _getVolumesFromViewport(viewport): Types.IImageVolume[] {
302
+ return viewport
303
+ .getActors()
304
+ .map((actor) => cache.getVolume(actor.uid))
305
+ .filter((volume) => !!volume);
306
+ }
303
307
 
304
- if (!actorEntry) {
305
- // This can happen during setup/teardown of viewports.
306
- return;
307
- }
308
+ function _getVolumeFromViewport(viewport): Types.IImageVolume {
309
+ const volumes = _getVolumesFromViewport(viewport);
310
+ const dynamicVolume = volumes.find((volume) => volume.isDynamicVolume());
308
311
 
309
- const volumeId = actorEntry.uid;
310
- return cache.getVolume(volumeId);
312
+ return dynamicVolume ?? volumes[0];
311
313
  }
312
314
 
313
315
  function _createStackViewportCinePlayContext(