49 lines
2.0 KiB
JavaScript
49 lines
2.0 KiB
JavaScript
var resizeTimer;
|
|
|
|
handleResize = function() {
|
|
// Avoid doing DOM manipulation during the resize handler
|
|
// because it is fired very often.
|
|
// Resizing is therefore performed 100 ms after the resize event stops.
|
|
clearTimeout(resizeTimer);
|
|
resizeTimer = setTimeout(function() {
|
|
resizeViewportElements();
|
|
}, 100);
|
|
};
|
|
|
|
// Resize viewport elements
|
|
resizeViewportElements = function() {
|
|
viewportResizeTimer = setTimeout(function() {
|
|
var elements = $('.imageViewerViewport').not('.empty');
|
|
elements.each(function(index, element) {
|
|
var enabledElement;
|
|
try {
|
|
enabledElement = cornerstone.getEnabledElement(element);
|
|
} catch(error) {
|
|
return;
|
|
}
|
|
|
|
cornerstone.resize(element, true);
|
|
|
|
if (enabledElement.fitToWindow === false) {
|
|
var imageId = enabledElement.image.imageId;
|
|
var instance = cornerstoneTools.metaData.get('instance', imageId);
|
|
var instanceClassViewport = getInstanceClassDefaultViewport(instance, enabledElement, imageId);
|
|
cornerstone.setViewport(element, instanceClassViewport);
|
|
}
|
|
|
|
// TODO= Refactor this into separate scrollbar resize function
|
|
var currentOverlay = $(element).siblings('.imageViewerViewportOverlay');
|
|
var imageControls = currentOverlay.find('.imageControls');
|
|
currentOverlay.find('.imageControls').height($(element).height());
|
|
|
|
// Set it's width to its parent's height
|
|
// (because webkit is stupid and can't style vertical sliders)
|
|
var scrollbar = currentOverlay.find('#scrollbar');
|
|
scrollbar.height(scrollbar.parent().height() - 20);
|
|
|
|
var currentImageSlider = currentOverlay.find('#imageSlider');
|
|
var overlayHeight = currentImageSlider.parent().height();
|
|
currentImageSlider.width(overlayHeight);
|
|
});
|
|
}, 1);
|
|
}; |