//>>built define("dojo/_base/lang dojo/_base/declare dojo/_base/window dojo/on dojo/touch dojo/_base/fx dojox/gfx dojox/widget/_Invalidating ./IndicatorBase".split(" "),function(b,g,e,d,c,f,k,l,h){return g("dojox.dgauges.ScaleIndicatorBase",h,{scale:null,value:0,interactionArea:"gauge",interactionMode:"mouse",animationDuration:0,animationEaser:null,_indicatorShapeFuncFlag:!0,_interactionAreaFlag:!0,_downListeners:null,_cursorListeners:null,_moveAndUpListeners:null,_transitionValue:NaN,_preventAnimation:!1, _animation:null,constructor:function(){this.watch("value",b.hitch(this,function(){this.valueChanged(this)}));this.watch("value",b.hitch(this,this._startAnimation));this.watch("interactionArea",b.hitch(this,function(){this._interactionAreaFlag=!0}));this.watch("interactionMode",b.hitch(this,function(){this._interactionAreaFlag=!0}));this.watch("indicatorShapeFunc",b.hitch(this,function(){this._indicatorShapeFuncFlag=!0}));this.addInvalidatingProperties(["scale","value","indicatorShapeFunc","interactionArea", "interactionMode"]);this._downListeners=[];this._moveAndUpListeners=[];this._cursorListeners=[]},_startAnimation:function(a,c,d){0!==this.animationDuration&&(this._animation&&(this._preventAnimation||c==d)?this._animation.stop():(this._animation=new f.Animation({curve:[c,d],duration:this.animationDuration,easing:this.animationEaser?this.animationEaser:f._defaultEasing,onAnimate:b.hitch(this,this._updateAnimation),onEnd:b.hitch(this,this._endAnimation),onStop:b.hitch(this,this._endAnimation)}),this._animation.play()))}, _updateAnimation:function(a){this._transitionValue=a;this.invalidateRendering()},_endAnimation:function(){this._transitionValue=NaN;this.invalidateRendering()},refreshRendering:function(){null!==this._gfxGroup&&null!==this.scale&&(this._indicatorShapeFuncFlag&&b.isFunction(this.indicatorShapeFunc)&&(this._gfxGroup.clear(),this.indicatorShapeFunc(this._gfxGroup,this),this._indicatorShapeFuncFlag=!1),this._interactionAreaFlag&&(this._interactionAreaFlag=this._connectDownListeners()))},valueChanged:function(a){d.emit(this, "valueChanged",{target:this,bubbles:!0,cancelable:!0})},_disconnectDownListeners:function(){for(var a=0;a