From a420b9852dd42a32486a1723295cfe3f8bc088d9 Mon Sep 17 00:00:00 2001 From: Kevin Lee <kevin@infinite-lee.com> Date: Wed, 11 Apr 2018 13:47:56 -0700 Subject: [PATCH] cleanup _isInteractable(); _handleWheel properly handles different deltaModes now. --- src/components/super-cursor.js | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/components/super-cursor.js b/src/components/super-cursor.js index c93bf8da1..ee70e9606 100644 --- a/src/components/super-cursor.js +++ b/src/components/super-cursor.js @@ -104,15 +104,10 @@ AFRAME.registerComponent("super-cursor", { }, _isInteractable: function(el) { - if (el.className === "interactable") { - return true; - } - - if (el.parentNode && el.parentNode != el.sceneEl) { - return this._isInteractable(el.parentNode); - } - - return false; + return ( + el.className === "interactable" || + (el.parentNode && el.parentNode != el.sceneEl && this._isInteractable(el.parentNode)) + ); }, _handleMouseDown: function() { @@ -134,7 +129,19 @@ AFRAME.registerComponent("super-cursor", { }, _handleWheel: function(e) { - if (this.isGrabbing) this.currentDistanceMod += e.deltaY / 10; + if (this.isGrabbing) { + switch (e.deltaMode) { + case e.DOM_DELTA_PIXEL: + this.currentDistanceMod += e.deltaY / 500; + break; + case e.DOM_DELTA_LINE: + this.currentDistanceMod += e.deltaY / 10; + break; + case e.DOM_DELTA_PAGE: + this.currentDistanceMod += e.deltaY / 2; + break; + } + } }, _handleEnterVR: function() { -- GitLab