예제 #1
0
        public override void UpdateScreen()
        {
            if (damageRegion.Left == -1)
            {
                return;
            }

            var bufferCoords = new WindowsConsole.Coord()
            {
                X = (short)Clip.Width,
                Y = (short)Clip.Height
            };

            var window = new WindowsConsole.SmallRect()
            {
                Top    = 0,
                Left   = 0,
                Right  = (short)Clip.Right,
                Bottom = (short)Clip.Bottom
            };

            UpdateCursor();
            winConsole.WriteToConsole(OutputBuffer, bufferCoords, damageRegion);
            //			System.Diagnostics.Debugger.Log(0, "debug", $"Region={damageRegion.Right - damageRegion.Left},{damageRegion.Bottom - damageRegion.Top}\n");
            WindowsConsole.SmallRect.MakeEmpty(ref damageRegion);
        }
예제 #2
0
        public override void UpdateCursor()
        {
            var position = new WindowsConsole.Coord()
            {
                X = (short)ccol,
                Y = (short)crow
            };

            winConsole.SetCursorPosition(position);
        }
예제 #3
0
        public override void UpdateScreen()
        {
            var bufferCoords = new WindowsConsole.Coord()
            {
                X = (short)Clip.Width,
                Y = (short)Clip.Height
            };

            var window = new WindowsConsole.SmallRect()
            {
                Top    = 0,
                Left   = 0,
                Right  = (short)Clip.Right,
                Bottom = (short)Clip.Bottom
            };

            UpdateCursor();
            WinConsole.WriteToConsole(OutputBuffer, bufferCoords, window);
        }