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); }
void ResizeScreen() { OutputBuffer = new WindowsConsole.CharInfo [Rows * Cols]; Clip = new Rect(0, 0, Cols, Rows); damageRegion = new WindowsConsole.SmallRect() { Top = 0, Left = 0, Bottom = (short)Rows, Right = (short)Cols }; }
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); }