Example #1
0
        private static void putFrameIntoBuffer(Node[,] buffer, Rect dimensions, FrameBorders borders, ZCharAttribute? borderColors, ZCharAttribute? fillColors)
        {
            currentBuffer = buffer;

            fillColors = fillColors ?? new ZCharAttribute();
            var node = new Node{ Colors = fillColors.Value, NodeEnumItem = NodeEnum.None };
            for (var i = dimensions.Top+1; i < dimensions.Bottom; i++)
                for (var j = dimensions.Left+1; j < dimensions.Right; j++)
                    buffer[i, j] = node;

            applyBorders(    SidesEnum.Down | SidesEnum.Right, dimensions.Left,  dimensions.Top, borders.LeftBorder,  borders.TopBorder, borderColors);
            for (var i = dimensions.Left + 1; i < dimensions.Right; i++)
                applyBorders(SidesEnum.Left | SidesEnum.Right, i,                dimensions.Top, borders.LeftBorder,  borders.TopBorder, borderColors);
            applyBorders(    SidesEnum.Down | SidesEnum.Left,  dimensions.Right, dimensions.Top, borders.RightBorder, borders.TopBorder, borderColors);

            for (var i = dimensions.Top + 1; i < dimensions.Bottom; i++)
            {
                applyBorders(SidesEnum.Up | SidesEnum.Down, dimensions.Left,  i, borders.LeftBorder,  borders.TopBorder, borderColors);
                applyBorders(SidesEnum.Up | SidesEnum.Down, dimensions.Right, i, borders.RightBorder, borders.TopBorder, borderColors);
            }

            applyBorders(    SidesEnum.Up   | SidesEnum.Right, dimensions.Left,  dimensions.Bottom, borders.LeftBorder,  borders.BottomBorder, borderColors);
            for (var i = dimensions.Left + 1; i < dimensions.Right; i++)
                applyBorders(SidesEnum.Left | SidesEnum.Right, i,                dimensions.Bottom, borders.LeftBorder,  borders.BottomBorder, borderColors);
            applyBorders(    SidesEnum.Up   | SidesEnum.Left,  dimensions.Right, dimensions.Bottom, borders.RightBorder, borders.BottomBorder, borderColors);
        }
Example #2
0
 public Cell(Rect rect)
 {
     Dimensions	= rect;
     Borders		= new FrameBorders();
 }