Merge branch 'master' of github.com:robhobbes/openseadragon into robhobbes-master

Fixed Conflicts:
	changelog.txt
This commit is contained in:
Ian Gilman 2013-05-31 09:01:14 -07:00
commit 9c60b28ec3
3 changed files with 23 additions and 2 deletions

View File

@ -12,6 +12,7 @@ OPENSEADRAGON CHANGELOG
* Better requestAnimationFrame detection on older Firefox (#103) * Better requestAnimationFrame detection on older Firefox (#103)
* More efficient navigator loading (#115) * More efficient navigator loading (#115)
* Sometimes tiles wouldn't resolve if you used the blendTime option; fixed. (#95) * Sometimes tiles wouldn't resolve if you used the blendTime option; fixed. (#95)
* You can now choose to have previous and next buttons wrap using the config.navPrevNextWrap.
0.9.127: 0.9.127:

View File

@ -251,6 +251,11 @@
* these paths, prefer setting the option.prefixUrl rather than overriding * these paths, prefer setting the option.prefixUrl rather than overriding
* every image path directly through this setting. * every image path directly through this setting.
* *
* @param {Boolean} [options.navPrevNextWrap=false]
* If the 'previous' button will wrap to the last image when viewing the first
* image and if the 'next' button will wrap to the first image when viewing
* the last image.
*
* @returns {OpenSeadragon.Viewer} * @returns {OpenSeadragon.Viewer}
*/ */
window.OpenSeadragon = window.OpenSeadragon || function( options ){ window.OpenSeadragon = window.OpenSeadragon || function( options ){
@ -588,6 +593,7 @@ window.OpenSeadragon = window.OpenSeadragon || function( options ){
DOWN: 'next_pressed.png' DOWN: 'next_pressed.png'
} }
}, },
navPrevNextWrap: false,
//DEVELOPER SETTINGS //DEVELOPER SETTINGS
debugMode: false, debugMode: false,

View File

@ -345,6 +345,10 @@ $.Viewer = function( options ) {
beginControlsAutoHide( _this ); beginControlsAutoHide( _this );
} ); // initial fade out } ); // initial fade out
if(this.navPrevNextWrap){
this.previousButton.enable();
}
}; };
$.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype, { $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype, {
@ -1021,7 +1025,9 @@ $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype,
if( this.nextButton ){ if( this.nextButton ){
if( ( this.tileSources.length - 1 ) === page ){ if( ( this.tileSources.length - 1 ) === page ){
//Disable next button //Disable next button
this.nextButton.disable(); if(!this.navPrevNextWrap){
this.nextButton.disable();
}
} else { } else {
this.nextButton.enable(); this.nextButton.enable();
} }
@ -1031,7 +1037,9 @@ $.extend( $.Viewer.prototype, $.EventHandler.prototype, $.ControlDock.prototype,
//Enable previous button //Enable previous button
this.previousButton.enable(); this.previousButton.enable();
} else { } else {
this.previousButton.disable(); if(!this.navPrevNextWrap){
this.previousButton.disable();
}
} }
} }
@ -1624,12 +1632,18 @@ function onFullPage() {
function onPrevious(){ function onPrevious(){
var previous = THIS[ this.hash ].sequence - 1; var previous = THIS[ this.hash ].sequence - 1;
if(this.navPrevNextWrap && previous < 0){
previous += this.tileSources.length;
}
this.goToPage( previous ); this.goToPage( previous );
} }
function onNext(){ function onNext(){
var next = THIS[ this.hash ].sequence + 1; var next = THIS[ this.hash ].sequence + 1;
if(this.navPrevNextWrap && next >= this.tileSources.length){
next = 0;
}
this.goToPage( next ); this.goToPage( next );
} }