/**
* Adds a indicator showing active touches
*
* @name Lens.LAF.TouchIndicator
* @namespace
*/
define(["lib/jquery", "lib/underscore", "common/util/dom_utils",
"ARCore/embed"],
function($, _, DOMUtils,
Embed) {
"use strict";
var enabled = true;
var touchIndicatorDiv = $("<div class='lens-touch-indicator' />");
var TouchIndicator = /** @lends Lens.LAF.TouchIndicator */ {
/**
* Enables scrollbar styling
*/
enable: function() {
DOMUtils.addStylesheet("LAF/widgets/touch_indicator.less");
enabled = true;
},
/**
* Disabled scrollbar styling
*/
disable: function() {
DOMUtils.removeStylesheet("LAF/widgets/touch_indicator.less");
enabled = false;
},
/**
* Returns true iff this LAF module is enabled
* @return {Boolean}
* @memberOf Lens.LAF.TouchIndicator
*/
enabled: function() {
return enabled;
}
};
document.addEventListener("lens:touchstart", function(evt) {
if(!enabled) {
return;
}
_.each(evt.changedTouches, function(touch) {
var indicator = touchIndicatorDiv.clone();
indicator.appendTo(document.body)
.css("left", touch.pageX)
.css("top", touch.pageY)
.on("webkitAnimationEnd", function() {
indicator.remove();
});
});
});
// only show touch indicators in the top-level Lens app
if(!Embed.parentDispatcher) {
TouchIndicator.enable();
}
Lens._addMember(TouchIndicator, "TouchIndicator", Lens.LAF);
return TouchIndicator;
});