swipe.js
922 Bytes
//>>built
define(["dojo/_base/kernel","dojo/_base/declare","./Base","../main"],function(c,f,g,e){c.experimental("dojox.gesture.swipe");c=f(g,{defaultEvent:"swipe",subEvents:["end"],press:function(a,b){b.touches&&2<=b.touches.length?delete a.context:(a.context||(a.context={x:0,y:0,t:0}),a.context.x=b.screenX,a.context.y=b.screenY,a.context.t=(new Date).getTime(),this.lock(b.currentTarget))},move:function(a,b){this._recognize(a,b,"swipe")},release:function(a,b){this._recognize(a,b,"swipe.end");delete a.context;
this.unLock()},cancel:function(a,b){delete a.context;this.unLock()},_recognize:function(a,b,d){a.context&&(a=this._getSwipeInfo(a,b))&&(a.type=d,this.fire(b.target,a))},_getSwipeInfo:function(a,b){var d={},c=a.context;d.time=(new Date).getTime()-c.t;a=b.screenX-c.x;b=b.screenY-c.y;if(0===a&&0===b)return null;d.dx=a;d.dy=b;return d}});e.gesture.swipe=new c;e.gesture.swipe.Swipe=c;return e.gesture.swipe});