diff --git a/src/navigator.js b/src/navigator.js index 17b18027..bea23ddd 100644 --- a/src/navigator.js +++ b/src/navigator.js @@ -272,23 +272,10 @@ $.extend( $.Navigator.prototype, $.EventSource.prototype, $.Viewer.prototype, /* (this.container.clientWidth === 0 ? 1 : this.container.clientWidth), (this.container.clientHeight === 0 ? 1 : this.container.clientHeight) ); + if ( !containerSize.equals( this.oldContainerSize ) ) { - var oldBounds = this.viewport.getBounds(); - var oldCenter = this.viewport.getCenter(); this.viewport.resize( containerSize, true ); - var worldBounds = this.world.getHomeBounds(); - var aspectRatio = worldBounds.width / worldBounds.height; - var imageHeight = 1 / aspectRatio; - var newWidth = oldBounds.width <= 1 ? oldBounds.width : 1; - var newHeight = oldBounds.height <= imageHeight ? - oldBounds.height : imageHeight; - var newBounds = new $.Rect( - oldCenter.x - ( newWidth / 2.0 ), - oldCenter.y - ( newHeight / 2.0 ), - newWidth, - newHeight - ); - this.viewport.fitBounds( newBounds, true ); + this.viewport.goHome(true); this.oldContainerSize = containerSize; this.drawer.clear(); this.world.draw(); diff --git a/src/viewer.js b/src/viewer.js index 35bcfd80..00108538 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -2745,11 +2745,9 @@ function resizeViewportAndRecenter( viewer, containerSize, oldBounds, oldCenter // We try to remove blanks as much as possible var worldBounds = viewer.world.getHomeBounds(); - var aspectRatio = worldBounds.width / worldBounds.height; - var imageHeight = 1 / aspectRatio; - var newWidth = oldBounds.width <= 1 ? oldBounds.width : 1; - var newHeight = oldBounds.height <= imageHeight ? - oldBounds.height : imageHeight; + var newWidth = oldBounds.width <= worldBounds.width ? oldBounds.width : worldBounds.width; + var newHeight = oldBounds.height <= worldBounds.height ? + oldBounds.height : worldBounds.height; var newBounds = new $.Rect( oldCenter.x - ( newWidth / 2.0 ), diff --git a/test/demo/collections/index.html b/test/demo/collections/index.html index b6aca4a1..46b4e7f2 100644 --- a/test/demo/collections/index.html +++ b/test/demo/collections/index.html @@ -15,6 +15,10 @@ margin: 0; } + .openseadragon1.small { + width: 50%; + } + .openseadragon-overlay { background-color: rgba(255, 0, 0, 0.3); } diff --git a/test/demo/collections/main.js b/test/demo/collections/main.js index 21e2d844..51f91c83 100644 --- a/test/demo/collections/main.js +++ b/test/demo/collections/main.js @@ -9,7 +9,7 @@ var testInitialOpen = false; var testOverlays = false; var testMargins = false; - var testNavigator = false; + var testNavigator = true; var margins; var config = { @@ -145,6 +145,12 @@ }); }, + // ---------- + toggle: function() { + var $el = $(this.viewer.element); + $el.toggleClass('small'); + }, + // ---------- basicTest: function() { var self = this;