quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 938 B
JavaScript
export default function(a){var b,c=Math,d=c.cos,e=c.sin,f=c.abs,g=c.pow,h=c.PI,i=2*h,j=g(2,-24),k=.01;a.define&&a.define([{name:'ringpath',ringpath:function(){return this.path(b,a._lastArgIfGroup(arguments))},ca:function(a,b,c,g,l,m,n,p){var q,r,s,t,u,v,w,x,y,z,A,B,C,D,E=this,o=m%i-l%i,F=m-l,G=.0001745329;return isNaN(n)&&(n=c),isNaN(p)&&(p=g),E._.ringangle=.5*(l+m),f(F)<j?(q=d(l),r=e(l),v=['M',a+c*q,b+n*r,'L',a+g*q,b+p*r,'Z']):f(F)>j&&+(f(F)%i<j||i-f(F)%i<j)?(v=['M',a-c,b,'A',c,n,0,0,0,a+c,b,'A',c,n,0,0,0,a-c,b],(0!==g||0!==p)&&(v=v.concat(['M',a-g,b,'A',g,p,0,0,1,a+g,b,'A',g,p,0,0,1,a-g,b])),v.push('Z')):(q=d(l),r=e(l),s=d(m),t=e(m),o%=i,0>o&&(o+=i),u=o<h?0:1,w=a+c*q,A=b+n*r,x=a+c*s,B=b+n*t,y=a+g*s,C=b+p*t,f(w-x)<k&&f(A-B)<k&&(w=a+c*d(l+G),A=b+n*e(l+G)),v=['M',w,A,'A',c,n,0,u,1,x,B,'L',y,C],(0!==g||0!==p)&&(z=a+g*q,D=b+p*r,f(y-z)<k&&f(C-D)<k&&(z=a+g*d(l+G),D=b+p*e(l+G)),v.push('A',g,p,0,u,0,z,D)),v.push('Z')),{path:v}}}])}