Exemplo n.º 1
0
        public void WriteLine(byte[] chars, Style style)
        {
            NewLine();
            int strlength = chars.Length;

            if (size.x < strlength)
            {
                strlength = size.x;
            }
            byte[] attr = new byte[strlength--];
            if (style.frame)
            {
                attr[0] = DOSConsole.ATTR_FRAME_TOP + DOSConsole.ATTR_FRAME_LEFT + DOSConsole.ATTR_FRAME_BOTTOM;
                for (int n = 1; n < strlength; n++)
                {
                    attr[n] = DOSConsole.ATTR_FRAME_TOP + DOSConsole.ATTR_FRAME_BOTTOM;
                }
                attr[strlength] = DOSConsole.ATTR_FRAME_TOP + DOSConsole.ATTR_FRAME_RIGHT + DOSConsole.ATTR_FRAME_BOTTOM;
            }
            else
            {
                for (int n = 0; n <= strlength; n++)
                {
                    attr[n] = 0;
                }
            }
            int offset = cursor_y * size.x;

            for (int n = 0; n <= strlength; n++)
            {
                Buffer[offset + n] = new DOSConsole.CHAR_INFO(chars[n], attr[n], style.color);
            }
        }
Exemplo n.º 2
0
        public void ScrollUp()
        {
            int position = length - size.x;

            for (int n = 0; n < position; n++)
            {
                Buffer[n] = Buffer[n + size.x];
            }
            for (int n = position; n < length; n++)
            {
                Buffer[n] = new DOSConsole.CHAR_INFO();
            }
        }