Added preserveOverlays option to Viewer

This commit is contained in:
Younes El Alami 2015-01-09 02:21:16 +00:00
parent 8ff70dd54f
commit 9e07c96d29
2 changed files with 19 additions and 3 deletions

View File

@ -519,6 +519,12 @@
* position. If preserveViewport is set to true, then the viewport position
* is preserved when navigating between images in the sequence.
*
* @property {Boolean} [preserveOverlays=false]
* If the viewer has been configured with a sequence of tile sources, then
* normally navigating to through each image resets the overlays.
* If preserveOverlays is set to true, then the overlays
* are preserved when navigating between images in the sequence.
*
* @property {Boolean} [showReferenceStrip=false]
* If the viewer has been configured with a sequence of tile sources, then
* display a scrolling strip of image thumbnails for navigating through the images.
@ -945,6 +951,7 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){
showSequenceControl: true, //SEQUENCE
sequenceControlAnchor: null, //SEQUENCE
preserveViewport: false, //SEQUENCE
preserveOverlays: false, //SEQUENCE
navPrevNextWrap: false, //SEQUENCE
showNavigationControl: true, //ZOOM/HOME/FULL/ROTATION
navigationControlAnchor: null, //ZOOM/HOME/FULL/ROTATION

View File

@ -539,9 +539,13 @@ $.extend( $.Viewer.prototype, $.EventSource.prototype, $.ControlDock.prototype,
this.navigator.close();
}
this.clearOverlays();
if( ! this.preserveOverlays)
{
this.clearOverlays();
this.overlaysContainer.innerHTML = "";
}
this.drawersContainer.innerHTML = "";
this.overlaysContainer.innerHTML = "";
if ( this.drawer ) {
this.drawer.destroy();
@ -1968,7 +1972,12 @@ function openTileSource( viewer, source ) {
_this.viewport.resetContentSize( _this.source.dimensions );
}
_this.source.overlays = _this.source.overlays || [];
if( _this.preserveOverlays ){
_this.source.overlays = _this.currentOverlays;
}
else{
_this.source.overlays = _this.source.overlays || [];
}
_this.drawer = new $.Drawer({
viewer: _this,