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';
|
||||
|
||||
var dragEventData;
|
||||
|
||||
function defaultStrategy(eventData) {
|
||||
var enabledElement = cornerstone.getEnabledElement(eventData.element);
|
||||
|
||||
cornerstone.updateImage(eventData.element);
|
||||
|
||||
var context = enabledElement.canvas.getContext('2d');
|
||||
context.setTransform(1, 0, 0, 1, 0, 0);
|
||||
|
||||
@ -2898,8 +2898,6 @@ if (typeof cornerstoneTools === 'undefined') {
|
||||
var enabledElement = cornerstone.getEnabledElement(element);
|
||||
var image = enabledElement.image;
|
||||
|
||||
cornerstone.updateImage(element);
|
||||
|
||||
var context = enabledElement.canvas.getContext('2d');
|
||||
context.setTransform(1, 0, 0, 1, 0, 0);
|
||||
|
||||
@ -2986,6 +2984,7 @@ if (typeof cornerstoneTools === 'undefined') {
|
||||
}
|
||||
|
||||
function mouseUpCallback(e, eventData) {
|
||||
$(eventData.element).off('CornerstoneImageRendered', imageRenderedCallback);
|
||||
$(eventData.element).off('CornerstoneToolsMouseDrag', dragCallback);
|
||||
$(eventData.element).off('CornerstoneToolsMouseUp', mouseUpCallback);
|
||||
$(eventData.element).off('CornerstoneToolsMouseClick', mouseUpCallback);
|
||||
@ -2994,6 +2993,7 @@ if (typeof cornerstoneTools === 'undefined') {
|
||||
|
||||
function mouseDownCallback(e, eventData) {
|
||||
if (cornerstoneTools.isMouseButtonEnabled(eventData.which, e.data.mouseButtonMask)) {
|
||||
$(eventData.element).on('CornerstoneImageRendered', imageRenderedCallback);
|
||||
$(eventData.element).on('CornerstoneToolsMouseDrag', dragCallback);
|
||||
$(eventData.element).on('CornerstoneToolsMouseUp', 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) {
|
||||
cornerstoneTools.dragProbe.strategy(eventData);
|
||||
var element = eventData.element;
|
||||
|
||||
dragEventData = eventData;
|
||||
cornerstone.updateImage(element);
|
||||
|
||||
return false; // false = causes jquery to preventDefault() and stopPropagation() this event
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user