Ejemplo n.º 1
0
        internal void SwitchToAlternateBuffer()
        {
            MainBufferCursorTop  = MainBuffer.CursorTop - MainBuffer.WindowTop;
            MainBufferCursorLeft = MainBuffer.CursorLeft - MainBuffer.WindowLeft;

            AlternateBuffer = new TerminalScreenBuffer(this);

            AlternateBuffer.SetCursorPosition(MainBufferCursorLeft, MainBufferCursorTop);
            ConsoleEx.SwapBuffers(AlternateBuffer);
            CurrentBuffer = AlternateBuffer;
        }
Ejemplo n.º 2
0
        public TerminalEmulator()
        {
            // New buffer for the current std output
            MainBuffer  = new TerminalScreenBuffer(this, ConsoleEx.StdOutput);
            InputBuffer = new TerminalInputBuffer(this, ConsoleEx.StdInput);

            // And put our buffers in control
            CurrentBuffer          = MainBuffer;
            ConsoleEx.ScreenBuffer = MainBuffer;
            ConsoleEx.InputBuffer  = InputBuffer;

            ConsoleEx.ScreenBuffer.ProcessedOutput = false;
            ConsoleEx.ScreenBuffer.WrapAtEOL       = false;

            CharacterAttribute Temp = ConsoleEx.ScreenBuffer.Attribute;

            Temp.Foreground = ConsoleColor.DarkGray;
            Temp.Background = ConsoleColor.Black;
            ConsoleEx.ScreenBuffer.Attribute = Temp;

            Keypad     = InputMode.Normal;
            CursorKeys = InputMode.Normal;
        }
Ejemplo n.º 3
0
 internal void SwitchToMainBuffer()
 {
     MainBuffer.SetCursorPosition(MainBufferCursorLeft + MainBuffer.WindowLeft, MainBuffer.WindowTop + MainBufferCursorTop);
     ConsoleEx.SwapBuffers(MainBuffer);
     CurrentBuffer = MainBuffer;
 }