Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 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 | import { getEnabledElement, triggerEvent } from '@cornerstonejs/core';
import Events from '../../enums/Events';
import getMouseEventPoints from './getMouseEventPoints';
import { EventTypes, IPoints } from '../../types';
/**
* Captures and normalizes the double click event. Emits as a cornerstoneTools3D
* double click event.
*
* @param evt - The mouse event.
*/
function mouseDoubleClickListener(evt: MouseEvent): void {
const element = <HTMLDivElement>evt.currentTarget;
const { viewportId, renderingEngineId } = getEnabledElement(element);
const startPoints = getMouseEventPoints(evt, element);
const deltaPoints: IPoints = {
page: [0, 0],
client: [0, 0],
canvas: [0, 0],
world: [0, 0, 0],
};
const eventDetail: EventTypes.MouseDoubleClickEventDetail = {
event: evt,
eventName: Events.MOUSE_DOUBLE_CLICK,
viewportId,
renderingEngineId,
camera: {},
element,
startPoints,
lastPoints: startPoints,
currentPoints: startPoints,
deltaPoints,
};
const consumed = !triggerEvent(
element,
Events.MOUSE_DOUBLE_CLICK,
eventDetail
);
if (consumed) {
// The Events.MOUSE_DOUBLE_CLICK was consumed, thus no other listener should handle this 'dblclick' event.
// Use stopImmediatePropagation to lessen the possibility that a third party 'dblclick'
// listener receives this event. However, there still is no guarantee
// that any third party listener has not already handled the event.
evt.stopImmediatePropagation();
evt.preventDefault();
}
}
export default mouseDoubleClickListener;
|