public ComponentPoint Flip(bool horizontal) { ComponentPoint returnPoint = new ComponentPoint(); if (horizontal) returnPoint.Offset = new Vector(-Offset.X, Offset.Y); else returnPoint.Offset = new Vector(Offset.X, -Offset.Y); if (RelativeToX == ComponentPosition.Start) returnPoint.RelativeToX = ComponentPosition.End; else if (RelativeToX == ComponentPosition.Middle) returnPoint.RelativeToX = ComponentPosition.Middle; else if (RelativeToX == ComponentPosition.End) returnPoint.RelativeToX = ComponentPosition.Start; if (RelativeToY == ComponentPosition.Start) returnPoint.RelativeToY = ComponentPosition.End; else if (RelativeToY == ComponentPosition.Middle) returnPoint.RelativeToY = ComponentPosition.Middle; else if (RelativeToY == ComponentPosition.End) returnPoint.RelativeToY = ComponentPosition.Start; return returnPoint; }