From fb32cc719818ee5e93a149d9cb620c639b74a382 Mon Sep 17 00:00:00 2001 From: Tom Date: Mon, 13 Mar 2023 22:19:06 -0400 Subject: [PATCH] add after-resize event --- src/viewport.js | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/viewport.js b/src/viewport.js index a9c3913a..11fc1558 100644 --- a/src/viewport.js +++ b/src/viewport.js @@ -1078,7 +1078,10 @@ $.Viewport.prototype = { if( this.viewer ){ /** - * Raised when the viewer is resized (see {@link OpenSeadragon.Viewport#resize}). + * Raised when a viewer resize operation is initiated (see {@link OpenSeadragon.Viewport#resize}). + * This event happens before the viewport bounds have been updated. + * See also {@link OpenSeadragon.Viewer#after-resize} which reflects + * the new viewport bounds following the resize action. * * @event resize * @memberof OpenSeadragon.Viewer @@ -1094,7 +1097,29 @@ $.Viewport.prototype = { }); } - return this.fitBounds( newBounds, true ); + var output = this.fitBounds( newBounds, true ); + + if( this.viewer ){ + /** + * Raised after the viewer is resized (see {@link OpenSeadragon.Viewport#resize}). + * See also {@link OpenSeadragon.Viewer#resize} event which happens + * before the new bounds have been calculated and applied. + * + * @event after-resize + * @memberof OpenSeadragon.Viewer + * @type {object} + * @property {OpenSeadragon.Viewer} eventSource - A reference to the Viewer which raised this event. + * @property {OpenSeadragon.Point} newContainerSize + * @property {Boolean} maintain + * @property {?Object} userData - Arbitrary subscriber-defined object. + */ + this.viewer.raiseEvent( 'after-resize', { + newContainerSize: newContainerSize, + maintain: maintain + }); + } + + return output; }, // private