コード例 #1
0
ファイル: ItemLocationDirect.cs プロジェクト: olesar/Altaxo
        /// <summary>
        /// Gets the absolute enclosing rectangle without taking into account ScaleX, ScaleY, Rotation and Shear (SSRS).
        /// </summary>
        /// <returns>The enclosing rectangle in absolute values.</returns>
        public RectangleD2D GetAbsoluteEnclosingRectangleWithoutSSRS()
        {
            var mySizeX = _sizeX.GetValueRelativeTo(_parentSize.X);
            var mySizeY = _sizeY.GetValueRelativeTo(_parentSize.Y);

            var myPosX = _parentAnchorX.GetValueRelativeTo(_parentSize.X) + _positionX.GetValueRelativeTo(_parentSize.X) - _localAnchorX.GetValueRelativeTo(mySizeX);
            var myPosY = _parentAnchorY.GetValueRelativeTo(_parentSize.Y) + _positionY.GetValueRelativeTo(_parentSize.Y) - _localAnchorY.GetValueRelativeTo(mySizeY);

            return(new RectangleD2D(myPosX, myPosY, mySizeX, mySizeY));
        }
コード例 #2
0
ファイル: ItemLocationDirect.cs プロジェクト: olesar/Altaxo
        public void ChangeParentAnchorButKeepPosition(RADouble newParentAnchorX, RADouble newParentAnchorY)
        {
            var oldRefX = _parentAnchorX.GetValueRelativeTo(_parentSize.X);
            var oldRefY = _parentAnchorY.GetValueRelativeTo(_parentSize.Y);
            var newRefX = newParentAnchorX.GetValueRelativeTo(_parentSize.X);
            var newRefY = newParentAnchorY.GetValueRelativeTo(_parentSize.Y);

            var oldPos = AbsolutePosition;

            InternalSetAbsolutePositionXSilent(oldPos.X + (oldRefX - newRefX));
            InternalSetAbsolutePositionYSilent(oldPos.Y + (oldRefY - newRefY));
            _parentAnchorX = newParentAnchorX;
            _parentAnchorY = newParentAnchorY;
        }
コード例 #3
0
ファイル: ItemLocationDirect.cs プロジェクト: Altaxo/Altaxo
		public void ChangeParentAnchorButKeepPosition(RADouble newParentAnchorX, RADouble newParentAnchorY, RADouble newParentAnchorZ)
		{
			var oldRefX = _parentAnchorX.GetValueRelativeTo(_parentSize.X);
			var oldRefY = _parentAnchorY.GetValueRelativeTo(_parentSize.Y);
			var oldRefZ = _parentAnchorZ.GetValueRelativeTo(_parentSize.Z);
			var newRefX = newParentAnchorX.GetValueRelativeTo(_parentSize.X);
			var newRefY = newParentAnchorY.GetValueRelativeTo(_parentSize.Y);
			var newRefZ = newParentAnchorZ.GetValueRelativeTo(_parentSize.Z);

			var oldPos = this.AbsolutePosition;
			this.InternalSetAbsolutePositionXSilent(oldPos.X + (oldRefX - newRefX));
			this.InternalSetAbsolutePositionYSilent(oldPos.Y + (oldRefY - newRefY));
			this.InternalSetAbsolutePositionZSilent(oldPos.Z + (oldRefZ - newRefZ));
			_parentAnchorX = newParentAnchorX;
			_parentAnchorY = newParentAnchorY;
			_parentAnchorZ = newParentAnchorZ;
		}