Modified Zoom
Block dimension calculation is not accurate, so zoom is made on mouse coordinates Change default modifier to ctrl - alt don't work on Linux New parameter zoomLevel: default 2
This commit is contained in:
		| @@ -3,31 +3,17 @@ | ||||
| 	var isEnabled = true; | ||||
|  | ||||
| 	document.querySelector( '.reveal .slides' ).addEventListener( 'mousedown', function( event ) { | ||||
| 		var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'alt' ) + 'Key'; | ||||
|  | ||||
| 		var zoomPadding = 20; | ||||
| 		var revealScale = Reveal.getScale(); | ||||
| 		var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'ctrl' ) + 'Key';//cl | ||||
| 		var zoomLevel = ( Reveal.getConfig().zoomLevel ? Reveal.getConfig().zoomLevel : 2 ); | ||||
|  | ||||
| 		if( event[ modifier ] && isEnabled ) { | ||||
| 			event.preventDefault(); | ||||
|  | ||||
| 			var bounds; | ||||
| 			var originalDisplay = event.target.style.display; | ||||
|  | ||||
| 			// Get the bounding rect of the contents, not the containing box | ||||
| 			if( window.getComputedStyle( event.target ).display === 'block' ) { | ||||
| 				event.target.style.display = 'inline-block'; | ||||
| 				bounds = event.target.getBoundingClientRect(); | ||||
| 				event.target.style.display = originalDisplay; | ||||
| 			} else { | ||||
| 				bounds = event.target.getBoundingClientRect(); | ||||
| 			} | ||||
|  | ||||
| 			zoom.to({ | ||||
| 				x: ( bounds.left * revealScale ) - zoomPadding, | ||||
| 				y: ( bounds.top * revealScale ) - zoomPadding, | ||||
| 				width: ( bounds.width * revealScale ) + ( zoomPadding * 2 ), | ||||
| 				height: ( bounds.height * revealScale ) + ( zoomPadding * 2 ), | ||||
| 				x: event.clientX - window.innerWidth / (zoomLevel * 2),//cl | ||||
| 				y: event.clientY - window.innerHeight / (zoomLevel * 2), | ||||
| 				width: window.innerWidth / zoomLevel, | ||||
| 				height: window.innerHeight / zoomLevel, | ||||
| 				pan: false | ||||
| 			}); | ||||
| 		} | ||||
| @@ -283,6 +269,3 @@ var zoom = (function(){ | ||||
| 	} | ||||
|  | ||||
| })(); | ||||
|  | ||||
|  | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user