fix: dragProbe tool (PR #194)
Pull request https://github.com/chafey/cornerstoneTools/pull/194
This commit is contained in:
parent
7d8d32d7dc
commit
e618e32341
@ -2827,11 +2827,11 @@ if (typeof cornerstoneTools === 'undefined') {
|
|||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
|
var dragEventData;
|
||||||
|
|
||||||
function defaultStrategy(eventData) {
|
function defaultStrategy(eventData) {
|
||||||
var enabledElement = cornerstone.getEnabledElement(eventData.element);
|
var enabledElement = cornerstone.getEnabledElement(eventData.element);
|
||||||
|
|
||||||
cornerstone.updateImage(eventData.element);
|
|
||||||
|
|
||||||
var context = enabledElement.canvas.getContext('2d');
|
var context = enabledElement.canvas.getContext('2d');
|
||||||
context.setTransform(1, 0, 0, 1, 0, 0);
|
context.setTransform(1, 0, 0, 1, 0, 0);
|
||||||
|
|
||||||
@ -2898,8 +2898,6 @@ if (typeof cornerstoneTools === 'undefined') {
|
|||||||
var enabledElement = cornerstone.getEnabledElement(element);
|
var enabledElement = cornerstone.getEnabledElement(element);
|
||||||
var image = enabledElement.image;
|
var image = enabledElement.image;
|
||||||
|
|
||||||
cornerstone.updateImage(element);
|
|
||||||
|
|
||||||
var context = enabledElement.canvas.getContext('2d');
|
var context = enabledElement.canvas.getContext('2d');
|
||||||
context.setTransform(1, 0, 0, 1, 0, 0);
|
context.setTransform(1, 0, 0, 1, 0, 0);
|
||||||
|
|
||||||
@ -2986,6 +2984,7 @@ if (typeof cornerstoneTools === 'undefined') {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mouseUpCallback(e, eventData) {
|
function mouseUpCallback(e, eventData) {
|
||||||
|
$(eventData.element).off('CornerstoneImageRendered', imageRenderedCallback);
|
||||||
$(eventData.element).off('CornerstoneToolsMouseDrag', dragCallback);
|
$(eventData.element).off('CornerstoneToolsMouseDrag', dragCallback);
|
||||||
$(eventData.element).off('CornerstoneToolsMouseUp', mouseUpCallback);
|
$(eventData.element).off('CornerstoneToolsMouseUp', mouseUpCallback);
|
||||||
$(eventData.element).off('CornerstoneToolsMouseClick', mouseUpCallback);
|
$(eventData.element).off('CornerstoneToolsMouseClick', mouseUpCallback);
|
||||||
@ -2994,6 +2993,7 @@ if (typeof cornerstoneTools === 'undefined') {
|
|||||||
|
|
||||||
function mouseDownCallback(e, eventData) {
|
function mouseDownCallback(e, eventData) {
|
||||||
if (cornerstoneTools.isMouseButtonEnabled(eventData.which, e.data.mouseButtonMask)) {
|
if (cornerstoneTools.isMouseButtonEnabled(eventData.which, e.data.mouseButtonMask)) {
|
||||||
|
$(eventData.element).on('CornerstoneImageRendered', imageRenderedCallback);
|
||||||
$(eventData.element).on('CornerstoneToolsMouseDrag', dragCallback);
|
$(eventData.element).on('CornerstoneToolsMouseDrag', dragCallback);
|
||||||
$(eventData.element).on('CornerstoneToolsMouseUp', mouseUpCallback);
|
$(eventData.element).on('CornerstoneToolsMouseUp', mouseUpCallback);
|
||||||
$(eventData.element).on('CornerstoneToolsMouseClick', mouseUpCallback);
|
$(eventData.element).on('CornerstoneToolsMouseClick', mouseUpCallback);
|
||||||
@ -3002,8 +3002,22 @@ if (typeof cornerstoneTools === 'undefined') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function imageRenderedCallback() {
|
||||||
|
if(dragEventData) {
|
||||||
|
cornerstoneTools.dragProbe.strategy(dragEventData);
|
||||||
|
dragEventData = null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// The strategy can't be execute at this momento because the image is rendered asynchronously
|
||||||
|
// (requestAnimationFrame). Then the eventData that contains all information needed is being
|
||||||
|
// cached and the strategy will be executed once CornerstoneImageRendered is triggered.
|
||||||
function dragCallback(e, eventData) {
|
function dragCallback(e, eventData) {
|
||||||
cornerstoneTools.dragProbe.strategy(eventData);
|
var element = eventData.element;
|
||||||
|
|
||||||
|
dragEventData = eventData;
|
||||||
|
cornerstone.updateImage(element);
|
||||||
|
|
||||||
return false; // false = causes jquery to preventDefault() and stopPropagation() this event
|
return false; // false = causes jquery to preventDefault() and stopPropagation() this event
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user