From 2b05d82039bdbe1c238997ccf904c034a5c2c50a Mon Sep 17 00:00:00 2001 From: miguel Date: Tue, 15 May 2018 23:14:51 -0400 Subject: [PATCH] Remove stash file --- stash | 136 ---------------------------------------------------------- 1 file changed, 136 deletions(-) delete mode 100644 stash diff --git a/stash b/stash deleted file mode 100644 index 2e8223493..000000000 --- a/stash +++ /dev/null @@ -1,136 +0,0 @@ -diff --git a/Example/demo.cs b/Example/demo.cs -index 1413f9b..1df6170 100644 ---- a/Example/demo.cs -+++ b/Example/demo.cs -@@ -90,7 +90,7 @@ static class Demo { - return true; - } - -- Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (300), timer); -+ //Application.MainLoop.AddTimeout (TimeSpan.FromMilliseconds (300), timer); - - - // A little convoluted, this is because I am using this to test the -diff --git a/Terminal.Gui/Drivers/WindowsDriver.cs b/Terminal.Gui/Drivers/WindowsDriver.cs -index 229931a..a3ab2bd 100644 ---- a/Terminal.Gui/Drivers/WindowsDriver.cs -+++ b/Terminal.Gui/Drivers/WindowsDriver.cs -@@ -323,6 +323,10 @@ namespace Terminal.Gui { - this.X = X; - this.Y = Y; - } -+ -+ public override string ToString() { -+ return $"(X={X},Y={Y}"; -+ } - }; - - [StructLayout(LayoutKind.Explicit, CharSet=CharSet.Unicode)] -@@ -346,6 +350,34 @@ namespace Terminal.Gui { - public short Top; - public short Right; - public short Bottom; -+ -+ public static void MakeEmpty (ref SmallRect rect) { -+ rect.Left = -1; -+ } -+ -+ public static void Update (ref SmallRect rect, short col, short row) { -+ if (rect.Left == -1) { -+ System.Diagnostics.Debugger.Log(0, "debug", $"damager From Empty {col},{row}\n"); -+ rect.Left = rect.Right = col; -+ rect.Bottom = rect.Top = row; -+ return; -+ } -+ if (col >= rect.Left && col <= rect.Right && row >= rect.Top && row <= rect.Bottom) -+ return; -+ if (col < rect.Left) -+ rect.Left = col; -+ if (col > rect.Right) -+ rect.Right = col; -+ if (row < rect.Top) -+ rect.Top = row; -+ if (row > rect.Bottom) -+ rect.Bottom = row; -+ System.Diagnostics.Debugger.Log(0, "debug", $"Expanding {rect.ToString()}\n"); -+ } -+ -+ public override string ToString() { -+ return $"Left={Left},Top={Top},Right={Right},Bottom={Bottom}"; -+ } - } - - [DllImport ("kernel32.dll", SetLastError = true)] -@@ -410,7 +442,7 @@ namespace Terminal.Gui { - WindowsConsole WinConsole; - - WindowsConsole.CharInfo[] OutputBuffer; -- -+ WindowsConsole.SmallRect damageRegion; - int cols, rows; - - public override int Cols => cols; -@@ -424,6 +456,7 @@ namespace Terminal.Gui { - WinConsole = new WindowsConsole(); - cols = Console.WindowWidth; - rows = Console.WindowHeight - 1; -+ WindowsConsole.SmallRect.MakeEmpty(ref damageRegion); - ResizeScreen (); - UpdateOffScreen (); - } -@@ -649,6 +682,12 @@ namespace Terminal.Gui { - { - 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 -+ }; - } - - void UpdateOffScreen () -@@ -675,6 +714,7 @@ namespace Terminal.Gui { - if (Clip.Contains (ccol, crow)){ - OutputBuffer[position].Attributes = (ushort)currentAttribute; - OutputBuffer[position].Char.UnicodeChar = (char)rune; -+ WindowsConsole.SmallRect.Update(ref damageRegion, (short)ccol, (short)crow); - } - - ccol++; -@@ -709,6 +749,8 @@ namespace Terminal.Gui { - - public override void Refresh() - { -+ UpdateScreen(); -+#if false - var bufferCoords = new WindowsConsole.Coord (){ - X = (short)Clip.Width, - Y = (short)Clip.Height -@@ -723,10 +765,14 @@ namespace Terminal.Gui { - - UpdateCursor(); - WinConsole.WriteToConsole (OutputBuffer, bufferCoords, window); -+#endif - } - - public override void UpdateScreen () - { -+ if (damageRegion.Left == -1) -+ return; -+ - var bufferCoords = new WindowsConsole.Coord (){ - X = (short)Clip.Width, - Y = (short)Clip.Height -@@ -740,7 +786,9 @@ namespace Terminal.Gui { - }; - - UpdateCursor(); -- WinConsole.WriteToConsole (OutputBuffer, bufferCoords, window); -+ -+ WinConsole.WriteToConsole (OutputBuffer, bufferCoords, damageRegion); -+ WindowsConsole.SmallRect.MakeEmpty(ref damageRegion); - } - - public override void UpdateCursor()