|
|
@ -69,7 +69,7 @@ var Reveal = (function(){ |
|
|
|
autoSlide: 0, |
|
|
|
|
|
|
|
// Stop auto-sliding after user input
|
|
|
|
autoSlideStoppable: false, |
|
|
|
autoSlideStoppable: true, |
|
|
|
|
|
|
|
// Enable slide navigation via mouse wheel
|
|
|
|
mouseWheel: false, |
|
|
@ -1610,16 +1610,6 @@ var Reveal = (function(){ |
|
|
|
// Update the URL hash
|
|
|
|
writeURL(); |
|
|
|
|
|
|
|
// If the current slide has a data-autoslide use that,
|
|
|
|
// otherwise use the config.autoSlide value
|
|
|
|
var slideAutoSlide = currentSlide.getAttribute( 'data-autoslide' ); |
|
|
|
if( slideAutoSlide ) { |
|
|
|
autoSlide = parseInt( slideAutoSlide, 10 ); |
|
|
|
} |
|
|
|
else { |
|
|
|
autoSlide = config.autoSlide; |
|
|
|
} |
|
|
|
|
|
|
|
cueAutoSlide(); |
|
|
|
|
|
|
|
} |
|
|
@ -2258,23 +2248,35 @@ var Reveal = (function(){ |
|
|
|
*/ |
|
|
|
function cueAutoSlide() { |
|
|
|
|
|
|
|
clearTimeout( autoSlideTimeout ); |
|
|
|
autoSlideTimeout = -1; |
|
|
|
cancelAutoSlide(); |
|
|
|
|
|
|
|
autoSlideStartTime = Date.now(); |
|
|
|
if( currentSlide ) { |
|
|
|
|
|
|
|
// Cue the next auto-slide if:
|
|
|
|
// - There is an autoSlide value
|
|
|
|
// - Auto-sliding isn't paused by the user
|
|
|
|
// - The presentation isn't paused
|
|
|
|
// - The overview isn't active
|
|
|
|
// - The presentation isn't over
|
|
|
|
if( autoSlide && !autoSlidePaused && !isPaused() && !isOverview() && ( !Reveal.isLastSlide() || config.loop === true ) ) { |
|
|
|
autoSlideTimeout = setTimeout( navigateNext, autoSlide ); |
|
|
|
} |
|
|
|
// If the current slide has a data-autoslide use that,
|
|
|
|
// otherwise use the config.autoSlide value
|
|
|
|
var slideAutoSlide = currentSlide.getAttribute( 'data-autoslide' ); |
|
|
|
if( slideAutoSlide ) { |
|
|
|
autoSlide = parseInt( slideAutoSlide, 10 ); |
|
|
|
} |
|
|
|
else { |
|
|
|
autoSlide = config.autoSlide; |
|
|
|
} |
|
|
|
|
|
|
|
// Cue the next auto-slide if:
|
|
|
|
// - There is an autoSlide value
|
|
|
|
// - Auto-sliding isn't paused by the user
|
|
|
|
// - The presentation isn't paused
|
|
|
|
// - The overview isn't active
|
|
|
|
// - The presentation isn't over
|
|
|
|
if( autoSlide && !autoSlidePaused && !isPaused() && !isOverview() && ( !Reveal.isLastSlide() || config.loop === true ) ) { |
|
|
|
autoSlideTimeout = setTimeout( navigateNext, autoSlide ); |
|
|
|
autoSlideStartTime = Date.now(); |
|
|
|
} |
|
|
|
|
|
|
|
if( autoSlidePlayer ) { |
|
|
|
autoSlidePlayer.setPlaying( autoSlideTimeout !== -1 ); |
|
|
|
} |
|
|
|
|
|
|
|
if( autoSlidePlayer ) { |
|
|
|
autoSlidePlayer.setPlaying( autoSlideTimeout !== -1 ); |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
@ -2285,6 +2287,7 @@ var Reveal = (function(){ |
|
|
|
function cancelAutoSlide() { |
|
|
|
|
|
|
|
clearTimeout( autoSlideTimeout ); |
|
|
|
autoSlideTimeout = -1; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
@ -2530,8 +2533,6 @@ var Reveal = (function(){ |
|
|
|
*/ |
|
|
|
function onTouchStart( event ) { |
|
|
|
|
|
|
|
onUserInput( event ); |
|
|
|
|
|
|
|
touch.startX = event.touches[0].clientX; |
|
|
|
touch.startY = event.touches[0].clientY; |
|
|
|
touch.startCount = event.touches.length; |
|
|
@ -2557,6 +2558,8 @@ var Reveal = (function(){ |
|
|
|
|
|
|
|
// Each touch should only trigger one action
|
|
|
|
if( !touch.captured ) { |
|
|
|
onUserInput( event ); |
|
|
|
|
|
|
|
var currentX = event.touches[0].clientX; |
|
|
|
var currentY = event.touches[0].clientY; |
|
|
|
|
|
|
@ -2852,29 +2855,25 @@ var Reveal = (function(){ |
|
|
|
|
|
|
|
// Start repainting if we're playing
|
|
|
|
if( this.playing ) { |
|
|
|
this.update(); |
|
|
|
this.animate(); |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Playback.prototype.setProgress = function( value ) { |
|
|
|
|
|
|
|
this.progress = value; |
|
|
|
this.render(); |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Playback.prototype.update = function() { |
|
|
|
Playback.prototype.animate = function() { |
|
|
|
|
|
|
|
this.progress = this.progressCheck(); |
|
|
|
this.render(); |
|
|
|
|
|
|
|
if( this.playing ) { |
|
|
|
window.requestAnimationFrame( this.update.bind( this ) ); |
|
|
|
window.requestAnimationFrame( this.animate.bind( this ) ); |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
|
* Renders the current progress and playback state. |
|
|
|
*/ |
|
|
|
Playback.prototype.render = function() { |
|
|
|
|
|
|
|
var progress = this.playing ? this.progress : 0; |
|
|
@ -2933,14 +2932,6 @@ var Reveal = (function(){ |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Playback.prototype.destroy = function() { |
|
|
|
|
|
|
|
if( this.canvas.parentNode ) { |
|
|
|
this.container.removeChild( this.canvas ); |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
Playback.prototype.on = function( type, listener ) { |
|
|
|
this.canvas.addEventListener( type, listener, false ); |
|
|
|
}; |
|
|
@ -2949,6 +2940,16 @@ var Reveal = (function(){ |
|
|
|
this.canvas.removeEventListener( type, listener, false ); |
|
|
|
}; |
|
|
|
|
|
|
|
Playback.prototype.destroy = function() { |
|
|
|
|
|
|
|
this.playing = false; |
|
|
|
|
|
|
|
if( this.canvas.parentNode ) { |
|
|
|
this.container.removeChild( this.canvas ); |
|
|
|
} |
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
// --------------------------------------------------------------------//
|
|
|
|
// ------------------------------- API --------------------------------//
|
|
|
|