1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- (function(){
-
- var Orientation = Quark.Orientation =
- {
- lastGamma: 0,
- lastBeta: 0,
- lastAlpha: 0,
- callback: null
- };
- Orientation.register = function(callback)
- {
- var me = this, handler = function(e){me.onOrientation(e, callback);};
- //window.addEventListener('deviceorientation', handler, false);
- //window.addEventListener('MozOrientation', handler, false);
- window.addEventListener('devicemotion', handler, false);
- };
- Orientation.onOrientation = function(e, callback)
- {
- var gamma = e.gamma, beta = e.beta, alpha = e.alpha;
- if(!gamma && !beta)
- {
- gamma = e.x * Quark.RADIAN;
- beta = e.y * Quark.RADIAN;
- alpha = e.z * Quark.RADIAN;
- }
-
- var data = {gamma:gamma, beta:beta, alpha:alpha};
- if(e.accelerationIncludingGravity)
- {
- data.accelerationX = e.accelerationIncludingGravity.x;
- data.accelerationY = e.accelerationIncludingGravity.y;
- data.accelerationZ = e.accelerationIncludingGravity.z;
- }
- if(callback != null) callback(data);
-
- this.lastData = data;
- };
-
- })();
|