var gdjs;(function(a){let o;(function(e){e[e.None=0]="None",e[e.WindowLeft=1]="WindowLeft",e[e.WindowRight=2]="WindowRight",e[e.Proportional=3]="Proportional",e[e.WindowCenter=4]="WindowCenter"})(o||(o={}));let n;(function(e){e[e.None=0]="None",e[e.WindowTop=1]="WindowTop",e[e.WindowBottom=2]="WindowBottom",e[e.Proportional=3]="Proportional",e[e.WindowCenter=4]="WindowCenter"})(n||(n={}));class W extends a.RuntimeBehavior{constructor(t,i,s){super(t,i,s);this._useLegacyBottomAndRightAnchors=!1;this._hasJustBeenCreated=!0;this._leftEdgeDistance=0;this._rightEdgeDistance=0;this._topEdgeDistance=0;this._bottomEdgeDistance=0;this._oldDrawableX=0;this._oldDrawableY=0;this._oldWidth=0;this._oldHeight=0;this._parentOldMinX=0;this._parentOldMinY=0;this._parentOldMaxX=0;this._parentOldMaxY=0;this._relativeToOriginalWindowSize=!!i.relativeToOriginalWindowSize,this._leftEdgeAnchor=i.leftEdgeAnchor,this._rightEdgeAnchor=i.rightEdgeAnchor,this._topEdgeAnchor=i.topEdgeAnchor,this._bottomEdgeAnchor=i.bottomEdgeAnchor,this._useLegacyBottomAndRightAnchors=i.useLegacyBottomAndRightAnchors===void 0?!0:i.useLegacyBottomAndRightAnchors}applyBehaviorOverriding(t){return t.leftEdgeAnchor!==void 0&&(this._leftEdgeAnchor=t.leftEdgeAnchor),t.rightEdgeAnchor!==void 0&&(this._rightEdgeAnchor=t.rightEdgeAnchor),t.topEdgeAnchor!==void 0&&(this._topEdgeAnchor=t.topEdgeAnchor),t.bottomEdgeAnchor!==void 0&&(this._bottomEdgeAnchor=t.bottomEdgeAnchor),t.useLegacyTrajectory!==void 0&&(this._useLegacyBottomAndRightAnchors=t.useLegacyBottomAndRightAnchors),t.relativeToOriginalWindowSize===void 0}onActivate(){this._hasJustBeenCreated=!0}doStepPreEvents(t){this._hasJustBeenCreated&&(this._initializeAnchorDistances(t),this._hasJustBeenCreated=!1,this._oldDrawableX=this.owner.getDrawableX(),this._oldDrawableY=this.owner.getDrawableY(),this._oldWidth=this.owner.getWidth(),this._oldHeight=this.owner.getHeight()),this._updateAnchorDistances(t),this._followAnchor(t),this._oldDrawableX=this.owner.getDrawableX(),this._oldDrawableY=this.owner.getDrawableY(),this._oldWidth=this.owner.getWidth(),this._oldHeight=this.owner.getHeight()}_initializeAnchorDistances(t){const i=a.staticArray(a.AnchorRuntimeBehavior.prototype.doStepPreEvents),s=t.getLayer(this.owner.getLayer());this._relativeToOriginalWindowSize?(this._parentOldMinX=t.getInitialUnrotatedViewportMinX(),this._parentOldMinY=t.getInitialUnrotatedViewportMinY(),this._parentOldMaxX=t.getInitialUnrotatedViewportMaxX(),this._parentOldMaxY=t.getInitialUnrotatedViewportMaxY()):(this._parentOldMinX=t.getUnrotatedViewportMinX(),this._parentOldMinY=t.getUnrotatedViewportMinY(),this._parentOldMaxX=t.getUnrotatedViewportMaxX(),this._parentOldMaxY=t.getUnrotatedViewportMaxY());const r=this._parentOldMinX,e=this._parentOldMinY,g=this._parentOldMaxX,l=this._parentOldMaxY,w=(g+r)/2,p=(l+e)/2,f=g-r,E=l-e,h=this._convertInverseCoords(t,s,this.owner.getDrawableX(),this.owner.getDrawableY(),i);this._leftEdgeAnchor===1?this._leftEdgeDistance=h[0]-r:this._leftEdgeAnchor===2?this._leftEdgeDistance=h[0]-g:this._leftEdgeAnchor===3?this._leftEdgeDistance=(h[0]-r)/f:this._leftEdgeAnchor===4&&(this._leftEdgeDistance=h[0]-w),this._topEdgeAnchor===1?this._topEdgeDistance=h[1]-e:this._topEdgeAnchor===2?this._topEdgeDistance=h[1]-l:this._topEdgeAnchor===3?this._topEdgeDistance=(h[1]-e)/E:this._topEdgeAnchor===4&&(this._topEdgeDistance=h[1]-p);const d=this._convertInverseCoords(t,s,this.owner.getDrawableX()+this.owner.getWidth(),this.owner.getDrawableY()+this.owner.getHeight(),i);this._rightEdgeAnchor===1?this._rightEdgeDistance=d[0]-r:this._rightEdgeAnchor===2?this._rightEdgeDistance=d[0]-g:this._rightEdgeAnchor===3?this._rightEdgeDistance=(d[0]-r)/f:this._rightEdgeAnchor===4&&(this._rightEdgeDistance=d[0]-w),this._bottomEdgeAnchor===1?this._bottomEdgeDistance=d[1]-e:this._bottomEdgeAnchor===2?this._bottomEdgeDistance=d[1]-l:this._bottomEdgeAnchor===3?this._bottomEdgeDistance=(d[1]-e)/E:this._bottomEdgeAnchor===4&&(this._bottomEdgeDistance=d[1]-p)}_updateAnchorDistances(t){if(this._oldDrawableX!==this.owner.getDrawableX()||this._oldWidth!==this.owner.getWidth()){const i=this._parentOldMaxX-this._parentOldMinX,s=this.owner.getDrawableX()-this._oldDrawableX;this._leftEdgeAnchor===3?this._leftEdgeDistance+=s/i:this._leftEdgeDistance+=s;const r=s+this.owner.getWidth()-this._oldWidth;this._rightEdgeAnchor===3?this._rightEdgeDistance+=r/i:this._rightEdgeDistance+=r}if(this._oldDrawableY!==this.owner.getDrawableY()||this._oldHeight!==this.owner.getHeight()){const i=this._parentOldMaxY-this._parentOldMinY,s=this.owner.getDrawableY()-this._oldDrawableY;this._topEdgeAnchor===3?this._topEdgeDistance+=s/i:this._topEdgeDistance+=s;const r=s+this.owner.getHeight()-this._oldHeight;this._bottomEdgeAnchor===3?this._bottomEdgeDistance+=r/i:this._bottomEdgeDistance+=r}}_followAnchor(t){let i=t.getUnrotatedViewportMinX(),s=t.getUnrotatedViewportMinY(),r=t.getUnrotatedViewportMaxX(),e=t.getUnrotatedViewportMaxY();if(this._parentOldMinX===i&&this._parentOldMinY===s&&this._parentOldMaxX===r&&this._parentOldMaxY===e)return;const g=a.staticArray(a.AnchorRuntimeBehavior.prototype.doStepPreEvents),l=t.getLayer(this.owner.getLayer()),w=(r+i)/2,p=(e+s)/2,f=r-i,E=e-s;let h=0,d=0,A=0,m=0;this._leftEdgeAnchor===1?h=i+this._leftEdgeDistance:this._leftEdgeAnchor===2?h=r+this._leftEdgeDistance:this._leftEdgeAnchor===3?h=i+this._leftEdgeDistance*f:this._leftEdgeAnchor===4&&(h=w+this._leftEdgeDistance),this._topEdgeAnchor===1?d=s+this._topEdgeDistance:this._topEdgeAnchor===2?d=e+this._topEdgeDistance:this._topEdgeAnchor===3?d=s+this._topEdgeDistance*E:this._topEdgeAnchor===4&&(d=p+this._topEdgeDistance),this._rightEdgeAnchor===1?A=i+this._rightEdgeDistance:this._rightEdgeAnchor===2?A=r+this._rightEdgeDistance:this._rightEdgeAnchor===3?A=i+this._rightEdgeDistance*f:this._rightEdgeAnchor===4&&(A=w+this._rightEdgeDistance),this._bottomEdgeAnchor===1?m=s+this._bottomEdgeDistance:this._bottomEdgeAnchor===2?m=e+this._bottomEdgeDistance:this._bottomEdgeAnchor===3?m=s+this._bottomEdgeDistance*E:this._bottomEdgeAnchor===4&&(m=p+this._bottomEdgeDistance);const X=this._convertCoords(t,l,h,d,g);let _=X[0],c=X[1];const Y=this._convertCoords(t,l,A,m,g),b=Y[0],M=Y[1];if(this._useLegacyBottomAndRightAnchors)this._rightEdgeAnchor!==0&&this.owner.setWidth(b-_),this._bottomEdgeAnchor!==0&&this.owner.setHeight(M-c),this._leftEdgeAnchor!==0&&this.owner.setX(_+this.owner.getX()-this.owner.getDrawableX()),this._topEdgeAnchor!==0&&this.owner.setY(c+this.owner.getY()-this.owner.getDrawableY());else{if(this._rightEdgeAnchor!==0&&this._leftEdgeAnchor!==0){const D=b-_;this.owner.setX(this.owner.getX()===this.owner.getDrawableX()?_:_+(this.owner.getX()-this.owner.getDrawableX())*D/this.owner.getWidth()),this.owner.setWidth(D)}else this._leftEdgeAnchor!==0&&this.owner.setX(_+this.owner.getX()-this.owner.getDrawableX()),this._rightEdgeAnchor!==0&&this.owner.setX(b+this.owner.getX()-this.owner.getDrawableX()-this.owner.getWidth());if(this._bottomEdgeAnchor!==0&&this._topEdgeAnchor!==0){const D=M-c;this.owner.setY(this.owner.getY()===this.owner.getDrawableY()?c:c+(this.owner.getY()-this.owner.getDrawableY())*D/this.owner.getHeight()),this.owner.setHeight(D)}else this._topEdgeAnchor!==0&&this.owner.setY(c+this.owner.getY()-this.owner.getDrawableY()),this._bottomEdgeAnchor!==0&&this.owner.setY(M+this.owner.getY()-this.owner.getDrawableY()-this.owner.getHeight())}this._parentOldMinX=t.getUnrotatedViewportMinX(),this._parentOldMinY=t.getUnrotatedViewportMinY(),this._parentOldMaxX=t.getUnrotatedViewportMaxX(),this._parentOldMaxY=t.getUnrotatedViewportMaxY()}doStepPostEvents(t){t!==t.getScene()&&this.doStepPreEvents(t)}_convertCoords(t,i,s,r,e){return t!==t.getScene()?(e[0]=s,e[1]=r,e):i.convertCoords(s,r,0,e)}_convertInverseCoords(t,i,s,r,e){return t!==t.getScene()?(e[0]=s,e[1]=r,e):i.convertInverseCoords(s,r,0,e)}}a.AnchorRuntimeBehavior=W,a.registerBehavior("AnchorBehavior::AnchorBehavior",a.AnchorRuntimeBehavior)})(gdjs||(gdjs={})); //# sourceMappingURL=anchorruntimebehavior.js.map