internal static bool ValidateCanvas(IList <string> splitCommand, int countCommand, Size canvasSize, ref Shape.Points pts, bool isLine = false) { var ret = true; if (splitCommand.Count != countCommand) { Console.WriteLine("Please enter correct cordincates"); ret = false; } if (ValidateCanvas(canvasSize)) { ret = false; } pts.fromPoint = ParseCord(splitCommand[1], splitCommand[2]); pts.toPoint = ParseCord(splitCommand[3], splitCommand[4]); if ((pts.fromPoint.X >= pts.toPoint.X || pts.fromPoint.Y >= pts.toPoint.Y) && !isLine) { Console.WriteLine("Please enter valid cordinates"); ret = false; } if (!ValidCordinate(pts.fromPoint, canvasSize) || !ValidCordinate(pts.toPoint, canvasSize)) { ret = false; } return(ret); }
private static void DrawLine(IList <string> splitCommand, char drawChar) { var pts = new Shape.Points(); if (!Utility.ValidateCanvas(splitCommand, 5, _canvasSize, ref pts, true)) { return; } Shape.AddToCanvas(canvasPage, pts.fromPoint, pts.toPoint, drawChar); Shape.DrawCanvas(canvasPage); }
private static void DrawRectangle(IList <string> splitCommand, char drawCharX, char drawCharY) { var pts = new Shape.Points(); if (!Utility.ValidateCanvas(splitCommand, 5, _canvasSize, ref pts)) { return; } var rectangleSize = new Size { Height = pts.toPoint.Y - pts.fromPoint.Y, Width = pts.toPoint.X - pts.fromPoint.X }; var rect = new Rectangle(pts.fromPoint, rectangleSize); Shape.AddToCanvas(canvasPage, rect, drawCharX, drawCharY); Shape.DrawCanvas(canvasPage); }