diff --git a/Terminal.Gui/Drivers/ConsoleDriver.cs b/Terminal.Gui/Drivers/ConsoleDriver.cs index 81bb460fc..e1db1616e 100644 --- a/Terminal.Gui/Drivers/ConsoleDriver.cs +++ b/Terminal.Gui/Drivers/ConsoleDriver.cs @@ -58,7 +58,7 @@ public abstract class ConsoleDriver : IConsoleDriver // QUESTION: When non-full screen apps are supported, will this represent the app size, or will that be in Application? /// Gets the location and size of the terminal screen. - public Rectangle Screen => new (0, 0, Cols, Rows); + public Rectangle Screen => new (0, 0, _cols, _rows); private Region? _clip; @@ -94,15 +94,7 @@ public abstract class ConsoleDriver : IConsoleDriver public int Col { get; private set; } /// The number of columns visible in the terminal. - public virtual int Cols - { - get => _cols; - set - { - _cols = value; - ClearContents (); - } - } + public virtual int Cols => _cols; /// /// The contents of the application output. The driver outputs this buffer to the terminal when @@ -158,15 +150,7 @@ public abstract class ConsoleDriver : IConsoleDriver public int Row { get; private set; } /// The number of rows visible in the terminal. - public virtual int Rows - { - get => _rows; - set - { - _rows = value; - ClearContents (); - } - } + public virtual int Rows => _rows; /// The topmost row in the terminal. public virtual int Top { get; set; } = 0; @@ -580,8 +564,8 @@ public abstract class ConsoleDriver : IConsoleDriver set => Application.Force16Colors = value || !SupportsTrueColor; } - private int _cols; - private int _rows; + protected int _cols; + protected int _rows; /// /// The that will be used for the next or diff --git a/Terminal.Gui/Drivers/ConsoleDriverFacade.cs b/Terminal.Gui/Drivers/ConsoleDriverFacade.cs index 36a80ba62..f2b7eb846 100644 --- a/Terminal.Gui/Drivers/ConsoleDriverFacade.cs +++ b/Terminal.Gui/Drivers/ConsoleDriverFacade.cs @@ -113,11 +113,7 @@ internal class ConsoleDriverFacade : IConsoleDriver, IConsoleDriverFacade public int Col => _outputBuffer.Col; /// The number of columns visible in the terminal. - public int Cols - { - get => _outputBuffer.Cols; - set => _outputBuffer.Cols = value; - } + public int Cols => _outputBuffer.Cols; /// /// The contents of the application output. The driver outputs this buffer to the terminal. @@ -143,11 +139,7 @@ internal class ConsoleDriverFacade : IConsoleDriver, IConsoleDriverFacade public int Row => _outputBuffer.Row; /// The number of rows visible in the terminal. - public int Rows - { - get => _outputBuffer.Rows; - set => _outputBuffer.Rows = value; - } + public int Rows => _outputBuffer.Rows; /// The topmost row in the terminal. public int Top diff --git a/Terminal.Gui/Drivers/FakeDriver/FakeDriver.cs b/Terminal.Gui/Drivers/FakeDriver/FakeDriver.cs index 9026a71bf..f3df3cb79 100644 --- a/Terminal.Gui/Drivers/FakeDriver/FakeDriver.cs +++ b/Terminal.Gui/Drivers/FakeDriver/FakeDriver.cs @@ -51,8 +51,8 @@ public class FakeDriver : ConsoleDriver // FakeDriver implies UnitTests RunningUnitTests = true; - base.Cols = FakeConsole.WindowWidth = FakeConsole.BufferWidth = FakeConsole.WIDTH; - base.Rows = FakeConsole.WindowHeight = FakeConsole.BufferHeight = FakeConsole.HEIGHT; + _cols = FakeConsole.WindowWidth = FakeConsole.BufferWidth = FakeConsole.WIDTH; + _rows = FakeConsole.WindowHeight = FakeConsole.BufferHeight = FakeConsole.HEIGHT; if (FakeBehaviors.UseFakeClipboard) { @@ -95,8 +95,8 @@ public class FakeDriver : ConsoleDriver { FakeConsole.MockKeyPresses.Clear (); - Cols = FakeConsole.WindowWidth = FakeConsole.BufferWidth = FakeConsole.WIDTH; - Rows = FakeConsole.WindowHeight = FakeConsole.BufferHeight = FakeConsole.HEIGHT; + _cols = FakeConsole.WindowWidth = FakeConsole.BufferWidth = FakeConsole.WIDTH; + _rows = FakeConsole.WindowHeight = FakeConsole.BufferHeight = FakeConsole.HEIGHT; FakeConsole.Clear (); ResizeScreen (); CurrentAttribute = new Attribute (Color.White, Color.Black); @@ -387,8 +387,9 @@ public class FakeDriver : ConsoleDriver public void SetBufferSize (int width, int height) { FakeConsole.SetBufferSize (width, height); - Cols = width; - Rows = height; + _cols = width; + _rows = height; + ClearContents (); SetWindowSize (width, height); ProcessResize (); } @@ -400,8 +401,6 @@ public class FakeDriver : ConsoleDriver if (width != Cols || height != Rows) { SetBufferSize (width, height); - Cols = width; - Rows = height; } ProcessResize (); diff --git a/Terminal.Gui/Drivers/IConsoleDriver.cs b/Terminal.Gui/Drivers/IConsoleDriver.cs index ee01f6d21..5ab198f70 100644 --- a/Terminal.Gui/Drivers/IConsoleDriver.cs +++ b/Terminal.Gui/Drivers/IConsoleDriver.cs @@ -29,7 +29,7 @@ public interface IConsoleDriver int Col { get; } /// The number of columns visible in the terminal. - int Cols { get; set; } + int Cols { get; } // BUGBUG: This should not be publicly settable. /// @@ -48,7 +48,7 @@ public interface IConsoleDriver int Row { get; } /// The number of rows visible in the terminal. - int Rows { get; set; } + int Rows { get; } /// The topmost row in the terminal. int Top { get; set; }