Bläddra i källkod

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

linux-man 7 år sedan
förälder
incheckning
9c3a65744c
1 ändrade filer med 6 tillägg och 23 borttagningar
  1. 6 23
      plugin/zoom-js/zoom.js

+ 6 - 23
plugin/zoom-js/zoom.js

@@ -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(){
 	}
 
 })();
-
-
-