From 70cade3732200f769f0d6c930c7dd14a94da7be2 Mon Sep 17 00:00:00 2001 From: Rory Hardy Date: Sun, 4 Aug 2013 20:22:34 -0500 Subject: [PATCH] Updates to leap.js and index.html Added timing code to limit gesture calls. Added gesture to access the overview. index.html includes the leap plugin --- index.html | 6 ++++- plugin/leap/leap.js | 58 +++++++++++++++++++++++++++++++-------------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/index.html b/index.html index fab2780d..decc2944 100644 --- a/index.html +++ b/index.html @@ -359,6 +359,9 @@ function linkify( selector ) { progress: true, history: true, center: true, + leap: { + invert : true + }, theme: Reveal.getQueryHash().theme, // available themes are in /css/theme transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none @@ -370,7 +373,8 @@ function linkify( selector ) { { src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } }, { src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } }, { src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } }, - { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } } + { src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }, + { src: 'plugin/leap/leap.js', async: true, } // { src: 'plugin/search/search.js', async: true, condition: function() { return !!document.body.classList; } } // { src: 'plugin/remotes/remotes.js', async: true, condition: function() { return !!document.body.classList; } } ] diff --git a/plugin/leap/leap.js b/plugin/leap/leap.js index 3af73ce5..27dc517a 100644 --- a/plugin/leap/leap.js +++ b/plugin/leap/leap.js @@ -21,34 +21,56 @@ var b=right.criteria;if(a!==b){if(a>b||a===void 0)return 1;if(a 0) { - var gesture = frame.gestures[0]; - //console.log(gesture); - var x = gesture.direction[0]; - var y = gesture.direction[1]; - if (gesture.state === 'start' && gesture.type === 'swipe') { - if (Math.abs(x) > Math.abs(y)) { - if (x > 0) { - config.invert ? Reveal.left() : Reveal.right(); + now = new Date().getTime(); + + if( lastGesture === 0 ) { + lastGesture = now; + } + + if ( (now - lastGesture) > 500 && frame.gestures.length > 0 ) { + var gesture = frame.gestures[0], + x = gesture.direction[0], + y = gesture.direction[1]; + + + if ( gesture.speed > 1000 && gesture.state === 'start' && gesture.type === 'swipe' ) { + if( frame.fingers.length > 1 ) { + if ( Math.abs(x) > Math.abs(y) ) { + if ( x > 0 ) { + config.invert ? Reveal.left() : Reveal.right(); + } else { + config.invert ? Reveal.right() : Reveal.left(); + } + + lastGesture = now; } else { - config.invert ? Reveal.right() : Reveal.left(); + if ( y > 0 ) { + config.invert ? Reveal.down() : Reveal.up(); + } else { + config.invert ? Reveal.up() : Reveal.down(); + } } - } else { - if (y > 0) { - config.invert ? Reveal.down() : Reveal.up(); - } else { - config.invert ? Reveal.up() : Reveal.down(); + + lastGesture = now; + } else if( frame.hands.length == 2 ) { + if ( y > 0 ) { + Reveal.toggleOverview(); } + + lastGesture = now; } } } }); + controller.connect(); })();