From ef732fb5475ad3711943c6b9d45d8326578e9d7e Mon Sep 17 00:00:00 2001 From: beholder Date: Wed, 27 Sep 2017 01:07:32 +0300 Subject: [PATCH] enable 'close' button overlay on hover/leave with stylys/lasers --- scripts/system/libraries/WebTablet.js | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/scripts/system/libraries/WebTablet.js b/scripts/system/libraries/WebTablet.js index 0632827bf6..fbe869c602 100644 --- a/scripts/system/libraries/WebTablet.js +++ b/scripts/system/libraries/WebTablet.js @@ -187,6 +187,23 @@ WebTablet = function (url, width, dpi, hand, clientOnly, location, visible) { } }; + this.myOnHoverEnterOverlay = function (overlayID, pointerEvent) { + _this.onHoverEnterOverlay(overlayID, pointerEvent); + }; + + Overlays.hoverEnterOverlay.connect(this.myOnHoverEnterOverlay); + + this.myOnHoverLeaveOverlay = function (overlayID, pointerEvent) { + _this.onHoverLeaveOverlay(overlayID, pointerEvent); + }; + + Overlays.hoverLeaveOverlay.connect(this.myOnHoverLeaveOverlay); + + this.myOnHoverOverOverlay = function (overlayID, pointerEvent) { + _this.onHoverOverOverlay(overlayID, pointerEvent); + }; + Overlays.hoverOverOverlay.connect(this.myOnHoverOverOverlay); + this.state = "idle"; this.getRoot = function() { @@ -286,6 +303,10 @@ WebTablet.prototype.setWidth = function (width) { }; WebTablet.prototype.destroy = function () { + Overlays.hoverEnterOverlay.disconnect(this.myOnHoverEnterOverlay); + Overlays.hoverLeaveOverlay.disconnect(this.myOnHoverLeaveOverlay); + Overlays.hoverOverOverlay.disconnect(this.myOnHoverOverOverlay); + Overlays.deleteOverlay(this.webOverlayID); Overlays.deleteOverlay(this.tabletEntityID); Overlays.deleteOverlay(this.homeButtonID); @@ -381,6 +402,24 @@ WebTablet.prototype.calculateWorldAttitudeRelativeToCamera = function (windowPos }; }; +WebTablet.prototype.onHoverEnterOverlay = function (overlayID, pointerEvent) { + if (overlayID === this.homeButtonID) { + Overlays.editOverlay(this.homeButtonHighlightID, { alpha: 1.0 }); + } +} + +WebTablet.prototype.onHoverOverOverlay = function (overlayID, pointerEvent) { + if (overlayID !== this.homeButtonID) { + Overlays.editOverlay(this.homeButtonHighlightID, { alpha: 0.0 }); + } +} + +WebTablet.prototype.onHoverLeaveOverlay = function (overlayID, pointerEvent) { + if (overlayID === this.homeButtonID) { + Overlays.editOverlay(this.homeButtonHighlightID, { alpha: 0.0 }); + } +} + // compute position, rotation & parentJointIndex of the tablet WebTablet.prototype.calculateTabletAttachmentProperties = function (hand, useMouse, tabletProperties) { if (HMD.active) {