LT-40: Centering text box with the central point of measurement

This commit is contained in:
Bruno Alves de Faria 2016-11-24 20:01:36 -02:00
parent 08c5692685
commit c129f1b504

View File

@ -92,11 +92,13 @@ OHIF.cornerstone.repositionTextBoxWhileDragging = (eventData, measurementData) =
return lowest + ((highest - lowest) / 2); return lowest + ((highest - lowest) / 2);
}; };
const getTextBoxSizeInPixels = (element, axis, bounds) => { const getTextBoxSizeInPixels = (element, bounds) => {
const topLeft = cornerstone.pageToPixel(element, 0, 0); const topLeft = cornerstone.pageToPixel(element, 0, 0);
const bottomRight = cornerstone.pageToPixel(element, bounds.x, bounds.y); const bottomRight = cornerstone.pageToPixel(element, bounds.x, bounds.y);
const boxSize = bottomRight[axis] - topLeft[axis]; return {
return boxSize; x: bottomRight.x - topLeft.x,
y: bottomRight.y - topLeft.y
};
}; };
const modifiedCallback = () => { const modifiedCallback = () => {
@ -162,15 +164,15 @@ OHIF.cornerstone.repositionTextBoxWhileDragging = (eventData, measurementData) =
} }
const toolAxis = cornerAxis === 'x' ? 'y' : 'x'; const toolAxis = cornerAxis === 'x' ? 'y' : 'x';
const boxSize = getTextBoxSizeInPixels(element, bounds);
textBox[cornerAxis] = points[cornerAxis]; textBox[cornerAxis] = points[cornerAxis];
textBox[toolAxis] = tool[toolAxis]; textBox[toolAxis] = tool[toolAxis] - (boxSize[toolAxis] / 2);
// Adjust the text box position reducing its size from the corner axis // Adjust the text box position reducing its size from the corner axis
const isDirectionPositive = directions[cornerAxis] > 0; const isDirectionPositive = directions[cornerAxis] > 0;
if ((foundPlace && !isDirectionPositive) || (!foundPlace && isDirectionPositive)) { if ((foundPlace && !isDirectionPositive) || (!foundPlace && isDirectionPositive)) {
const boxSize = getTextBoxSizeInPixels(element, cornerAxis, bounds); textBox[cornerAxis] -= boxSize[cornerAxis];
textBox[cornerAxis] -= boxSize;
} }
}; };