public override void Execute() { oldLocation = shape.Position; Point p = GetNewPosition(); shape.OffsetPosition(new Point( (p.X), (p.Y))); }
//TODO make size not negative ever public override void Execute() { oldSize = shape.GetSize(); oldPosition = shape.GetPosition(); switch (resizeMode) { case ResizeMode.N: shape.OffsetPosition(new Point(0, sizeDifference.Height)); shape.IncreaseSize(0, sizeDifference.Height); break; case ResizeMode.S: shape.IncreaseSize(0, -sizeDifference.Height); break; case ResizeMode.E: shape.IncreaseSize(-sizeDifference.Width, 0); break; case ResizeMode.W: shape.OffsetPosition(new Point(sizeDifference.Width, 0)); shape.IncreaseSize(sizeDifference.Width, 0); break; case ResizeMode.NW: shape.OffsetPosition(new Point(sizeDifference.Width, sizeDifference.Height)); shape.IncreaseSize(sizeDifference.Width, sizeDifference.Height); break; case ResizeMode.NE: shape.OffsetPosition(new Point(0, sizeDifference.Height)); shape.IncreaseSize(-sizeDifference.Width, sizeDifference.Height); break; case ResizeMode.SW: shape.OffsetPosition(new Point(sizeDifference.Width, 0)); shape.IncreaseSize(sizeDifference.Width, -sizeDifference.Height); break; case ResizeMode.SE: shape.IncreaseSize(-sizeDifference.Width, -sizeDifference.Height); break; default: throw new NotImplementedException(); } }