phpldapadmin/application/media/js/dojo-release-1.7.2/dojox/gfx/arc.js
2013-03-19 15:55:33 +11:00

57 lines
1.5 KiB
JavaScript

//>>built
define("dojox/gfx/arc",["./_base","dojo/_base/lang","./matrix"],function(g,_1,m){
var _2=2*Math.PI,_3=Math.PI/4,_4=Math.PI/8,_5=_3+_4,_6=_7(_4);
function _7(_8){
var _9=Math.cos(_8),_a=Math.sin(_8),p2={x:_9+(4/3)*(1-_9),y:_a-(4/3)*_9*(1-_9)/_a};
return {s:{x:_9,y:-_a},c1:{x:p2.x,y:-p2.y},c2:p2,e:{x:_9,y:_a}};
};
var _b=g.arc={unitArcAsBezier:_7,curvePI4:_6,arcAsBezier:function(_c,rx,ry,_d,_e,_f,x,y){
_e=Boolean(_e);
_f=Boolean(_f);
var _10=m._degToRad(_d),rx2=rx*rx,ry2=ry*ry,pa=m.multiplyPoint(m.rotate(-_10),{x:(_c.x-x)/2,y:(_c.y-y)/2}),_11=pa.x*pa.x,_12=pa.y*pa.y,c1=Math.sqrt((rx2*ry2-rx2*_12-ry2*_11)/(rx2*_12+ry2*_11));
if(isNaN(c1)){
c1=0;
}
var ca={x:c1*rx*pa.y/ry,y:-c1*ry*pa.x/rx};
if(_e==_f){
ca={x:-ca.x,y:-ca.y};
}
var c=m.multiplyPoint([m.translate((_c.x+x)/2,(_c.y+y)/2),m.rotate(_10)],ca);
var _13=m.normalize([m.translate(c.x,c.y),m.rotate(_10),m.scale(rx,ry)]);
var _14=m.invert(_13),sp=m.multiplyPoint(_14,_c),ep=m.multiplyPoint(_14,x,y),_15=Math.atan2(sp.y,sp.x),_16=Math.atan2(ep.y,ep.x),_17=_15-_16;
if(_f){
_17=-_17;
}
if(_17<0){
_17+=_2;
}else{
if(_17>_2){
_17-=_2;
}
}
var _18=_4,_19=_6,_1a=_f?_18:-_18,_1b=[];
for(var _1c=_17;_1c>0;_1c-=_3){
if(_1c<_5){
_18=_1c/2;
_19=_7(_18);
_1a=_f?_18:-_18;
_1c=0;
}
var c2,e,M=m.normalize([_13,m.rotate(_15+_1a)]);
if(_f){
c1=m.multiplyPoint(M,_19.c1);
c2=m.multiplyPoint(M,_19.c2);
e=m.multiplyPoint(M,_19.e);
}else{
c1=m.multiplyPoint(M,_19.c2);
c2=m.multiplyPoint(M,_19.c1);
e=m.multiplyPoint(M,_19.s);
}
_1b.push([c1.x,c1.y,c2.x,c2.y,e.x,e.y]);
_15+=2*_1a;
}
return _1b;
}};
return _b;
});