documentation/presentation/reveal.js-2.6.2/plugin/zoom-js/zoom.js
function magnify( pageOffsetX, pageOffsetY, elementOffsetX, elementOffsetY, scale ) {

		if( supportsTransforms ) {
			var origin = pageOffsetX +'px '+ pageOffsetY +'px',
				transform = 'translate('+ -elementOffsetX +'px,'+ -elementOffsetY +'px) scale('+ scale +')';

			document.body.style.transformOrigin = origin;
			document.body.style.OTransformOrigin = origin;
			document.body.style.msTransformOrigin = origin;
			document.body.style.MozTransformOrigin = origin;
			document.body.style.WebkitTransformOrigin = origin;

			document.body.style.transform = transform;
			document.body.style.OTransform = transform;
			document.body.style.msTransform = transform;
			document.body.style.MozTransform = transform;
			document.body.style.WebkitTransform = transform;
		}
		else {
			// Reset all values
			if( scale === 1 ) {
				document.body.style.position = '';
				document.body.style.left = '';
				document.body.style.top = '';
				document.body.style.width = '';
				document.body.style.height = '';
				document.body.style.zoom = '';
			}
			// Apply scale
			else {
				document.body.style.position = 'relative';
				document.body.style.left = ( - ( pageOffsetX + elementOffsetX ) / scale ) + 'px';
				document.body.style.top = ( - ( pageOffsetY + elementOffsetY ) / scale ) + 'px';
				document.body.style.width = ( scale * 100 ) + '%';
				document.body.style.height = ( scale * 100 ) + '%';
				document.body.style.zoom = scale;
			}
		}

		level = scale;

		if( level !== 1 && document.documentElement.classList ) {
			document.documentElement.classList.add( 'zoomed' );
		}
		else {
			document.documentElement.classList.remove( 'zoomed' );
		}
	}
function magnify( pageOffsetX, pageOffsetY, elementOffsetX, elementOffsetY, scale ) {

		if( supportsTransforms ) {
			var origin = pageOffsetX +'px '+ pageOffsetY +'px',
				transform = 'translate('+ -elementOffsetX +'px,'+ -elementOffsetY +'px) scale('+ scale +')';

			document.body.style.transformOrigin = origin;
			document.body.style.OTransformOrigin = origin;
			document.body.style.msTransformOrigin = origin;
			document.body.style.MozTransformOrigin = origin;
			document.body.style.WebkitTransformOrigin = origin;

			document.body.style.transform = transform;
			document.body.style.OTransform = transform;
			document.body.style.msTransform = transform;
			document.body.style.MozTransform = transform;
			document.body.style.WebkitTransform = transform;
		}
		else {
			// Reset all values
			if( scale === 1 ) {
				document.body.style.position = '';
				document.body.style.left = '';
				document.body.style.top = '';
				document.body.style.width = '';
				document.body.style.height = '';
				document.body.style.zoom = '';
			}
			// Apply scale
			else {
				document.body.style.position = 'relative';
				document.body.style.left = ( - ( pageOffsetX + elementOffsetX ) / scale ) + 'px';
				document.body.style.top = ( - ( pageOffsetY + elementOffsetY ) / scale ) + 'px';
				document.body.style.width = ( scale * 100 ) + '%';
				document.body.style.height = ( scale * 100 ) + '%';
				document.body.style.zoom = scale;
			}
		}

		level = scale;

		if( level !== 1 && document.documentElement.classList ) {
			document.documentElement.classList.add( 'zoomed' );
		}
		else {
			document.documentElement.classList.remove( 'zoomed' );
		}
	}
function magnify ( pageOffsetX , pageOffsetY , elementOffsetX , elementOffsetY , scale ) { if ( supportsTransforms ) { var origin = pageOffsetX + 'px ' + pageOffsetY + 'px' , transform = 'translate(' + - elementOffsetX + 'px,' + - elementOffsetY + 'px) scale(' + scale + ')' ; document . body . style . transformOrigin = origin ; document . body . style . OTransformOrigin = origin ; document . body . style . msTransformOrigin = origin ; document . body . style . MozTransformOrigin = origin ; document . body . style . WebkitTransformOrigin = origin ; document . body . style . transform = transform ; document . body . style . OTransform = transform ; document . body . style . msTransform = transform ; document . body . style . MozTransform = transform ; document . body . style . WebkitTransform = transform ; } else { // Reset all values if ( scale === 1 ) { document . body . style . position = '' ; document . body . style . left = '' ; document . body . style . top = '' ; document . body . style . width = '' ; document . body . style . height = '' ; document . body . style . zoom = '' ; } // Apply scale else { document . body . style . position = 'relative' ; document . body . style . left = ( - ( pageOffsetX + elementOffsetX ) / scale ) + 'px' ; document . body . style . top = ( - ( pageOffsetY + elementOffsetY ) / scale ) + 'px' ; document . body . style . width = ( scale * 100 ) + '%' ; document . body . style . height = ( scale * 100 ) + '%' ; document . body . style . zoom = scale ; } } level = scale ; if ( level !== 1 && document . documentElement . classList ) { document . documentElement . classList . add ( 'zoomed' ) ; } else { document . documentElement . classList . remove ( 'zoomed' ) ; } }
Applies the CSS required to zoom in, prioritizes use of CSS3
transforms but falls back on zoom for IE.

@param {Number} pageOffsetX
@param {Number} pageOffsetY
@param {Number} elementOffsetX
@param {Number} elementOffsetY
@param {Number} scale
Applies the CSS required to zoom in prioritizes use of CSS3 transforms but falls back on zoom for IE .