Ejemplo n.º 1
0
        public void DrawRectangle(Vector2 position, Vector2 size, BorderPen pen)
        {
            if (size.X < 0 || size.Y < 0)
            {
                throw new ArgumentException("size.X or Y can't be < 0.", "size");
            }
            if (size.X == 0 || size.Y == 0)
            {
                return;
            }

            int maxX = position.X + size.X - 1;
            int maxY = position.Y + size.Y - 1;

            for (int x = position.X + 1; x < maxX; x++)
            {
                Write(x, position.Y, pen.HorizontalBorder, pen.CharColor, pen.BackColor);
                Write(x, maxY, pen.HorizontalBorder, pen.CharColor, pen.BackColor);
            }

            for (int y = position.Y + 1; y < maxY; y++)
            {
                Write(position.X, y, pen.VerticalBorder, pen.CharColor, pen.BackColor);
                Write(maxX, y, pen.VerticalBorder, pen.CharColor, pen.BackColor);
            }

            Write(position.X, position.Y, pen.LeftTop, pen.CharColor, pen.BackColor);
            Write(maxX, position.Y, pen.RightTop, pen.CharColor, pen.BackColor);
            Write(position.X, maxY, pen.LeftBottom, pen.CharColor, pen.BackColor);
            Write(maxX, maxY, pen.RightBottom, pen.CharColor, pen.BackColor);
        }
Ejemplo n.º 2
0
 public Panel()
 {
     Size   = DefaultSize;
     Border = new BorderPen()
     {
         BackColor        = null,
         CharColor        = ConsoleColor.Gray,
         HorizontalBorder = '-',
         VerticalBorder   = '|',
         LeftTop          = 'o',
         LeftBottom       = 'o',
         RightTop         = 'o',
         RightBottom      = 'o',
     };
 }