aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRory Hardy <rory.cronin-hardy@cerner.com>2013-08-04 20:22:34 -0500
committerRory Hardy <rory.cronin-hardy@cerner.com>2013-08-04 20:22:34 -0500
commit70cade3732200f769f0d6c930c7dd14a94da7be2 (patch)
tree3ae01b837191ffb436801813a20a457956b220b1
parentaf5acd1aa2735833ec9f0104f1c16f97641f894c (diff)
downloadfosdem-2018-presentation-70cade3732200f769f0d6c930c7dd14a94da7be2.tar
fosdem-2018-presentation-70cade3732200f769f0d6c930c7dd14a94da7be2.tar.gz
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
-rw-r--r--index.html6
-rw-r--r--plugin/leap/leap.js58
2 files changed, 45 insertions, 19 deletions
diff --git a/index.html b/index.html
index fab2780..decc294 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 3af73ce..27dc517 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<b||b===void 0)re
*/
(function () {
- var controller = new Leap.Controller({enableGestures: true}),
- config = Reveal.getConfig().leap ||
+ var controller = new Leap.Controller({enableGestures: true}),
+ lastGesture = 0,
+ config = Reveal.getConfig().leap ||
{
invert: false
- };
+ },
+ now;
controller.on('frame', function (frame) {
- if (frame.gestures.length > 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();
})();