private static void SetScreenMarginValue( ScreenPosition screenPosition, ScreenMarginSide marginSide, int newMarginValue) { switch (marginSide) { case ScreenMarginSide.Left: screenPosition.LeftMarginPercentage = newMarginValue; break; case ScreenMarginSide.Right: screenPosition.RightMarginPercentage = newMarginValue; break; case ScreenMarginSide.Top: screenPosition.TopMarginPercentage = newMarginValue; break; case ScreenMarginSide.Bottom: screenPosition.BottomMarginPercentage = newMarginValue; break; default: throw new ArgumentException(); } }
public static void ModifyScreenPosition( ScreenPosition screenPosition, ScreenMarginSide marginSide, int newMarginValue, out bool opposingMarginChanged) { var opposingMarginSide = GetOpposingMarginSide(marginSide); var opposingMarginValue = GetScreenMarginValue(screenPosition, opposingMarginSide); opposingMarginChanged = newMarginValue + opposingMarginValue > 90; if (opposingMarginChanged) { SetScreenMarginValue(screenPosition, opposingMarginSide, 90 - newMarginValue); } SetScreenMarginValue(screenPosition, marginSide, newMarginValue); }
private static ScreenMarginSide GetOpposingMarginSide(ScreenMarginSide marginSide) { switch (marginSide) { case ScreenMarginSide.Left: return(ScreenMarginSide.Right); case ScreenMarginSide.Right: return(ScreenMarginSide.Left); case ScreenMarginSide.Top: return(ScreenMarginSide.Bottom); case ScreenMarginSide.Bottom: return(ScreenMarginSide.Top); } throw new ArgumentException(); }
private static int GetScreenMarginValue(ScreenPosition screenPosition, ScreenMarginSide marginSide) { switch (marginSide) { case ScreenMarginSide.Left: return(screenPosition.LeftMarginPercentage); case ScreenMarginSide.Right: return(screenPosition.RightMarginPercentage); case ScreenMarginSide.Top: return(screenPosition.TopMarginPercentage); case ScreenMarginSide.Bottom: return(screenPosition.BottomMarginPercentage); } throw new ArgumentException(); }