UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 891 B
class Step{constructor(a,b=.5){this._ctx=a,this._factor=b}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._x=this._y=NaN,this._point=0}lineEnd(){0<this._factor&&1>this._factor&&2===this._point&&this._ctx.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._ctx.closePath(),0<=this._line&&(this._factor=1-this._factor,this._line=1-this._line)}point(a,b){switch(a=+a,b=+b,this._point){case 0:this._point=1,this._line?this._ctx.lineTo(a,b):this._ctx.moveTo(a,b);break;case 1:this._point=2;default:if(0>=this._factor)this._ctx.lineTo(this._x,b),this._ctx.lineTo(a,b);else{let c=this._x*(1-this._factor)+a*this._factor;this._ctx.lineTo(c,this._y),this._ctx.lineTo(c,b)}}this._x=a,this._y=b}}class StepAfter extends Step{constructor(a){super(a,1)}}class StepBefore extends Step{constructor(a){super(a,0)}}export{StepBefore,StepAfter};export default Step;