3 lines
7.9 KiB
JavaScript
3 lines
7.9 KiB
JavaScript
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 s;(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"})(s||(s={}));class W extends a.RuntimeBehavior{constructor(t,i,n){super(t,i,n);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}updateFromBehaviorData(t,i){return t.leftEdgeAnchor!==i.leftEdgeAnchor&&(this._leftEdgeAnchor=i.leftEdgeAnchor),t.rightEdgeAnchor!==i.rightEdgeAnchor&&(this._rightEdgeAnchor=i.rightEdgeAnchor),t.topEdgeAnchor!==i.topEdgeAnchor&&(this._topEdgeAnchor=i.topEdgeAnchor),t.bottomEdgeAnchor!==i.bottomEdgeAnchor&&(this._bottomEdgeAnchor=i.bottomEdgeAnchor),t.useLegacyTrajectory!==i.useLegacyTrajectory&&(this._useLegacyBottomAndRightAnchors=i.useLegacyBottomAndRightAnchors),t.relativeToOriginalWindowSize===i.relativeToOriginalWindowSize}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),n=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,E=g-r,f=l-e,h=this._convertInverseCoords(t,n,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)/E: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)/f:this._topEdgeAnchor===4&&(this._topEdgeDistance=h[1]-p);const d=this._convertInverseCoords(t,n,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)/E: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)/f: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,n=this.owner.getDrawableX()-this._oldDrawableX;this._leftEdgeAnchor===3?this._leftEdgeDistance+=n/i:this._leftEdgeDistance+=n;const r=n+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,n=this.owner.getDrawableY()-this._oldDrawableY;this._topEdgeAnchor===3?this._topEdgeDistance+=n/i:this._topEdgeDistance+=n;const r=n+this.owner.getHeight()-this._oldHeight;this._bottomEdgeAnchor===3?this._bottomEdgeDistance+=r/i:this._bottomEdgeDistance+=r}}_followAnchor(t){let i=t.getUnrotatedViewportMinX(),n=t.getUnrotatedViewportMinY(),r=t.getUnrotatedViewportMaxX(),e=t.getUnrotatedViewportMaxY();if(this._parentOldMinX===i&&this._parentOldMinY===n&&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+n)/2,E=r-i,f=e-n;let h=0,d=0,A=0,b=0;this._leftEdgeAnchor===1?h=i+this._leftEdgeDistance:this._leftEdgeAnchor===2?h=r+this._leftEdgeDistance:this._leftEdgeAnchor===3?h=i+this._leftEdgeDistance*E:this._leftEdgeAnchor===4&&(h=w+this._leftEdgeDistance),this._topEdgeAnchor===1?d=n+this._topEdgeDistance:this._topEdgeAnchor===2?d=e+this._topEdgeDistance:this._topEdgeAnchor===3?d=n+this._topEdgeDistance*f: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*E:this._rightEdgeAnchor===4&&(A=w+this._rightEdgeDistance),this._bottomEdgeAnchor===1?b=n+this._bottomEdgeDistance:this._bottomEdgeAnchor===2?b=e+this._bottomEdgeDistance:this._bottomEdgeAnchor===3?b=n+this._bottomEdgeDistance*f:this._bottomEdgeAnchor===4&&(b=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,b,g),D=Y[0],M=Y[1];if(this._useLegacyBottomAndRightAnchors)this._rightEdgeAnchor!==0&&this.owner.setWidth(D-_),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 m=D-_;this.owner.setX(this.owner.getX()===this.owner.getDrawableX()?_:_+(this.owner.getX()-this.owner.getDrawableX())*m/this.owner.getWidth()),this.owner.setWidth(m)}else this._leftEdgeAnchor!==0&&this.owner.setX(_+this.owner.getX()-this.owner.getDrawableX()),this._rightEdgeAnchor!==0&&this.owner.setX(D+this.owner.getX()-this.owner.getDrawableX()-this.owner.getWidth());if(this._bottomEdgeAnchor!==0&&this._topEdgeAnchor!==0){const m=M-c;this.owner.setY(this.owner.getY()===this.owner.getDrawableY()?c:c+(this.owner.getY()-this.owner.getDrawableY())*m/this.owner.getHeight()),this.owner.setHeight(m)}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,n,r,e){return t!==t.getScene()?(e[0]=n,e[1]=r,e):i.convertCoords(n,r,0,e)}_convertInverseCoords(t,i,n,r,e){return t!==t.getScene()?(e[0]=n,e[1]=r,e):i.convertInverseCoords(n,r,0,e)}}a.AnchorRuntimeBehavior=W,a.registerBehavior("AnchorBehavior::AnchorBehavior",a.AnchorRuntimeBehavior)})(gdjs||(gdjs={}));
|
|
//# sourceMappingURL=anchorruntimebehavior.js.map
|