UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

127 lines (112 loc) 4.41 kB
// Class: openfl.sensors.Accelerometer var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; var $bind = require("./../../bind_stub").default; var $extend = require("./../../extend_stub").default; function openfl_events_EventDispatcher() {return require("./../../openfl/events/EventDispatcher");} function js__$Boot_HaxeError() {return require("./../../js/_Boot/HaxeError");} function openfl_errors_ArgumentError() {return require("./../../openfl/errors/ArgumentError");} function haxe_Timer() {return require("./../../haxe/Timer");} function openfl_events_AccelerometerEvent() {return require("./../../openfl/events/AccelerometerEvent");} function lime_system_Sensor() {return require("./../../lime/system/Sensor");} function lime_system_SensorType() {return require("./../../lime/system/SensorType");} // Constructor var Accelerometer = function() { (openfl_events_EventDispatcher().default).call(this); Accelerometer.initialize(); this.__interval = 0; this.__muted = false; this.setRequestedUpdateInterval(Accelerometer.defaultInterval); } // Meta Accelerometer.__name__ = "openfl.sensors.Accelerometer"; Accelerometer.__isInterface__ = false; Accelerometer.__super__ = (openfl_events_EventDispatcher().default); Accelerometer.prototype = $extend((openfl_events_EventDispatcher().default).prototype, { addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } (openfl_events_EventDispatcher().default).prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); this.update(); }, setRequestedUpdateInterval: function(interval) { this.__interval = interval; if(this.__interval < 0) { throw new (js__$Boot_HaxeError().default)(new (openfl_errors_ArgumentError().default)()); } else if(this.__interval == 0) { this.__interval = Accelerometer.defaultInterval; } if(this.__timer != null) { this.__timer.stop(); this.__timer = null; } if(Accelerometer.supported && !this.get_muted()) { this.__timer = new (haxe_Timer().default)(this.__interval); this.__timer.run = $bind(this,this.update); } }, update: function() { var event = new (openfl_events_AccelerometerEvent().default)("update"); event.timestamp = (haxe_Timer().default).stamp(); event.accelerationX = Accelerometer.currentX; event.accelerationY = Accelerometer.currentY; event.accelerationZ = Accelerometer.currentZ; this.dispatchEvent(event); }, get_muted: function() { return this.__muted; }, set_muted: function(value) { this.__muted = value; this.setRequestedUpdateInterval(this.__interval); return value; } }); Accelerometer.prototype.__class__ = Accelerometer.prototype.constructor = $hxClasses["openfl.sensors.Accelerometer"] = Accelerometer; // Init { Object.defineProperty(Accelerometer.prototype,"muted",{ get : function () { return this.get_muted (); }, set : function (v) { return this.set_muted (v); }}); Object.defineProperty(Accelerometer,"isSupported",{ get : function() { return Accelerometer.get_isSupported(); }}); }; // Statics Accelerometer.initialize = function() { if(!Accelerometer.initialized) { var sensors = (lime_system_Sensor().default).getSensors((lime_system_SensorType().default).ACCELEROMETER); if(sensors.length > 0) { sensors[0].onUpdate.add(Accelerometer.accelerometer_onUpdate); Accelerometer.supported = true; } Accelerometer.initialized = true; } } Accelerometer.accelerometer_onUpdate = function(x,y,z) { Accelerometer.currentX = x; Accelerometer.currentY = y; Accelerometer.currentZ = z; } Accelerometer.get_isSupported = function() { Accelerometer.initialize(); return Accelerometer.supported; } Accelerometer.currentX = 0.0 Accelerometer.currentY = 1.0 Accelerometer.currentZ = 0.0 Accelerometer.defaultInterval = 34 Accelerometer.initialized = false Accelerometer.supported = false // Export exports.default = Accelerometer;