From 8524af73f678e1a135ab83290bea19edf1f7f50e Mon Sep 17 00:00:00 2001 From: Hakim El Hattab Date: Wed, 10 Dec 2014 20:09:03 +0100 Subject: [PATCH] zoom plugin now works for scaled presentations --- plugin/zoom-js/zoom.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/plugin/zoom-js/zoom.js b/plugin/zoom-js/zoom.js index a672af4..da2c10a 100644 --- a/plugin/zoom-js/zoom.js +++ b/plugin/zoom-js/zoom.js @@ -5,9 +5,21 @@ document.querySelector( '.reveal' ).addEventListener( 'mousedown', function( event ) { var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'alt' ) + 'Key'; + var zoomPadding = 20; + var revealScale = Reveal.getScale(); + if( event[ modifier ] && isEnabled ) { event.preventDefault(); - zoom.to({ element: event.target, pan: false }); + + var 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 ), + pan: false + }); } } );