diff --git a/src/navigator.js b/src/navigator.js index 790c8c2b..8f03be43 100644 --- a/src/navigator.js +++ b/src/navigator.js @@ -276,8 +276,8 @@ $.extend( $.Navigator.prototype, $.EventSource.prototype, $.Viewer.prototype, /* /** /* Flip navigator element */ - toggleFlip: function() { - this.viewport.flipped = !this.viewport.flipped; + setFlip: function() { + this.viewport.toggleFlip(); this.setDisplayTransform(this.viewer.viewport.flipped ? "scale(-1,1)" : "scale(1,1)"); this.viewport.viewer.forceRedraw(); diff --git a/src/openseadragon.js b/src/openseadragon.js index ae051506..72f90bd5 100644 --- a/src/openseadragon.js +++ b/src/openseadragon.js @@ -206,6 +206,9 @@ * @property {Number} [degrees=0] * Initial rotation. * + * @property {Boolean} [flip=false] + * Initial flip state. + * * @property {Number} [minZoomLevel=null] * * @property {Number} [maxZoomLevel=null] diff --git a/src/viewer.js b/src/viewer.js index 76b78094..8be90044 100644 --- a/src/viewer.js +++ b/src/viewer.js @@ -367,6 +367,7 @@ $.Viewer = function( options ) { maxZoomLevel: this.maxZoomLevel, viewer: this, degrees: this.degrees, + flipped: this.flipped, navigatorRotate: this.navigatorRotate, homeFillsViewer: this.homeFillsViewer, margins: this.viewportMargins diff --git a/src/viewport.js b/src/viewport.js index 4c30dcee..1f7b7e8f 100644 --- a/src/viewport.js +++ b/src/viewport.js @@ -1525,12 +1525,19 @@ $.Viewport.prototype = { * Toggle flip state and demands a new drawing on navigator and viewer objects. */ toggleFlip: function() { - this.flipped = !this.flipped; + this.setFlip(!this.getFlip()); if(this.viewer.navigator){ - this.viewer.navigator.toggleFlip(); + this.viewer.navigator.setFlip(); } - this.viewer._forceRedraw = !this.viewer._forceRedraw; this.viewer.forceRedraw(); + }, + + getFlip: function() { + return this.flipped; + }, + + setFlip: function( state ) { + this.flipped = state; } };