//>>built define("dojox/dgauges/CircularScale",["dojo/_base/declare","dojox/gfx","./ScaleBase","./_circularUtils"],function(_1,_2,_3,_4){ return _1("dojox.dgauges.CircularScale",_3,{originX:50,originY:50,radius:50,startAngle:0,endAngle:180,orientation:"clockwise",constructor:function(){ this.labelPosition="inside"; this.addInvalidatingProperties(["originX","originY","radius","startAngle","endAngle","orientation"]); },_getOrientationNum:function(){ return this.orientation=="cclockwise"?-1:1; },positionForValue:function(_5){ var _6=_4.computeTotalAngle(this.startAngle,this.endAngle,this.orientation); var _7=this.scaler.positionForValue(_5); return _4.modAngle(this.startAngle+this._getOrientationNum()*_6*_7,360); },_positionForTickItem:function(_8){ var _9=_4.computeTotalAngle(this.startAngle,this.endAngle,this.orientation); return _4.modAngle(this.startAngle+this._getOrientationNum()*_9*_8.position,360); },valueForPosition:function(_a){ if(!this.positionInRange(_a)){ var _b=_4.modAngle(this.startAngle-_a,360); var _c=360-_b; var _d=_4.modAngle(this.endAngle-_a,360); var _e=360-_d; var _f; if(Math.min(_b,_c)=this.startAngle&&_12<=this.endAngle; }else{ return !(_12>this.endAngle&&_12this.startAngle&&_12=this.endAngle&&_12<=this.startAngle; } } },_distance:function(x1,y1,x2,y2){ return Math.sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1)); },_layoutLabel:function(_13,txt,ox,oy,_14,_15,_16){ var _17=this._getFont(); var box=_2._base._getTextBox(txt,{font:_2.makeFontString(_2.makeParameters(_2.defaultFont,_17))}); var tw=box.w; var fz=_17.size; var th=_2.normalizedLength(fz); var tfx=ox+Math.cos(_15)*_14-tw/2; var tfy=oy-Math.sin(_15)*_14-th/2; var _18; var _19=[]; _18=tfx; var ipx=_18; var ipy=-Math.tan(_15)*_18+oy+Math.tan(_15)*ox; if(ipy>=tfy&&ipy<=tfy+th){ _19.push({x:ipx,y:ipy}); } _18=tfx+tw; ipx=_18; ipy=-Math.tan(_15)*_18+oy+Math.tan(_15)*ox; if(ipy>=tfy&&ipy<=tfy+th){ _19.push({x:ipx,y:ipy}); } _18=tfy; ipx=-1/Math.tan(_15)*_18+ox+1/Math.tan(_15)*oy; ipy=_18; if(ipx>=tfx&&ipx<=tfx+tw){ _19.push({x:ipx,y:ipy}); } _18=tfy+th; ipx=-1/Math.tan(_15)*_18+ox+1/Math.tan(_15)*oy; ipy=_18; if(ipx>=tfx&&ipx<=tfx+tw){ _19.push({x:ipx,y:ipy}); } var dif; if(_16=="inside"){ for(var it=0;it<_19.length;it++){ var ip=_19[it]; dif=this._distance(ip.x,ip.y,ox,oy)-_14; if(dif>=0){ tfx=ox+Math.cos(_15)*(_14-dif)-tw/2; tfy=oy-Math.sin(_15)*(_14-dif)-th/2; break; } } }else{ for(it=0;it<_19.length;it++){ ip=_19[it]; dif=this._distance(ip.x,ip.y,ox,oy)-_14; if(dif<=0){ tfx=ox+Math.cos(_15)*(_14-dif)-tw/2; tfy=oy-Math.sin(_15)*(_14-dif)-th/2; break; } } } if(_13){ _13.setTransform([{dx:tfx+tw/2,dy:tfy+th}]); } },refreshRendering:function(){ this.inherited(arguments); if(!this._gfxGroup||!this.scaler){ return; } this.startAngle=_4.modAngle(this.startAngle,360); this.endAngle=_4.modAngle(this.endAngle,360); this._ticksGroup.clear(); var _1a; var _1b; var _1c; var _1d=this.scaler.computeTicks(); var _1e; for(var i=0;i<_1d.length;i++){ var _1f=_1d[i]; _1a=this.tickShapeFunc(this._ticksGroup,this,_1f); _1e=this._gauge._computeBoundingBox(_1a); var a; if(_1f.position){ a=this._positionForTickItem(_1f); }else{ a=this.positionForValue(_1f.value); } if(_1a){ _1a.setTransform([{dx:this.originX,dy:this.originY},_2.matrix.rotateg(a),{dx:this.radius-_1e.width-2*_1e.x,dy:0}]); } _1c=this.tickLabelFunc(_1f); if(_1c){ _1b=this._ticksGroup.createText({x:0,y:0,text:_1c,align:"middle"}).setFont(this._getFont()).setFill(this._getFont().color?this._getFont().color:"black"); var rad=this.radius; if(this.labelPosition=="inside"){ rad-=(_1e.width+this.labelGap); }else{ rad+=this.labelGap; } this._layoutLabel(_1b,_1c,this.originX,this.originY,rad,_4.toRadians(360-a),this.labelPosition); } } for(var key in this._indicatorsIndex){ this._indicatorsRenderers[key]=this._indicatorsIndex[key].invalidateRendering(); } }}); });