pixi-dragonbones-runtime
Version:
DragonBones Runtime for Pixi.js
3 lines (2 loc) • 1.89 kB
JavaScript
"use strict";class t{static normalizeRadian(t){return t=(t+Math.PI)%(2*Math.PI),t+=t>0?-Math.PI:Math.PI}constructor(t=0,s=0,i=0,a=0,h=1,e=1){this.x=t,this.y=s,this.skew=i,this.rotation=a,this.scaleX=h,this.scaleY=e}toString(){return"[object dragonBones.Transform] x:"+this.x+" y:"+this.y+" skewX:"+180*this.skew/Math.PI+" skewY:"+180*this.rotation/Math.PI+" scaleX:"+this.scaleX+" scaleY:"+this.scaleY}copyFrom(t){return this.x=t.x,this.y=t.y,this.skew=t.skew,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this}identity(){return this.x=this.y=0,this.skew=this.rotation=0,this.scaleX=this.scaleY=1,this}add(t){return this.x+=t.x,this.y+=t.y,this.skew+=t.skew,this.rotation+=t.rotation,this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this}minus(t){return this.x-=t.x,this.y-=t.y,this.skew-=t.skew,this.rotation-=t.rotation,this.scaleX/=t.scaleX,this.scaleY/=t.scaleY,this}fromMatrix(s){const i=this.scaleX,a=this.scaleY,h=t.PI_Q;this.x=s.tx,this.y=s.ty,this.rotation=Math.atan(s.b/s.a);let e=Math.atan(-s.c/s.d);return this.scaleX=this.rotation>-h&&this.rotation<h?s.a/Math.cos(this.rotation):s.b/Math.sin(this.rotation),this.scaleY=e>-h&&e<h?s.d/Math.cos(e):-s.c/Math.sin(e),i>=0&&this.scaleX<0&&(this.scaleX=-this.scaleX,this.rotation=this.rotation-Math.PI),a>=0&&this.scaleY<0&&(this.scaleY=-this.scaleY,e-=Math.PI),this.skew=e-this.rotation,this}toMatrix(t){return 0===this.rotation?(t.a=1,t.b=0):(t.a=Math.cos(this.rotation),t.b=Math.sin(this.rotation)),0===this.skew?(t.c=-t.b,t.d=t.a):(t.c=-Math.sin(this.skew+this.rotation),t.d=Math.cos(this.skew+this.rotation)),1!==this.scaleX&&(t.a*=this.scaleX,t.b*=this.scaleX),1!==this.scaleY&&(t.c*=this.scaleY,t.d*=this.scaleY),t.tx=this.x,t.ty=this.y,this}}t.PI=Math.PI,t.PI_D=2*Math.PI,t.PI_H=Math.PI/2,t.PI_Q=Math.PI/4,t.RAD_DEG=180/Math.PI,t.DEG_RAD=Math.PI/180,exports.Transform=t;
//# sourceMappingURL=Transform.cjs.map