diff --git a/Terminal.Gui/Application/Application .Screen.cs b/Terminal.Gui/Application/Application .Screen.cs index 7770ae13c..a3d56da06 100644 --- a/Terminal.Gui/Application/Application .Screen.cs +++ b/Terminal.Gui/Application/Application .Screen.cs @@ -3,6 +3,14 @@ namespace Terminal.Gui; public static partial class Application // Screen related stuff { + /// + /// Gets the size of the screen. This is the size of the screen as reported by the . + /// + /// + /// If the has not been initialized, this will return a default size of 2048x2048; useful for unit tests. + /// + public static Rectangle Screen => Driver?.Screen ?? new (0, 0, 2048, 2048); + /// Invoked when the terminal's size changed. The new size of the terminal is provided. /// /// Event handlers can set to to prevent diff --git a/UnitTests/View/DrawTests.cs b/UnitTests/View/DrawTests.cs index 955bf4651..2e02ecc1a 100644 --- a/UnitTests/View/DrawTests.cs +++ b/UnitTests/View/DrawTests.cs @@ -393,7 +393,7 @@ public class DrawTests (ITestOutputHelper _output) var view = new View { Width = 2, Height = 2, BorderStyle = LineStyle.Single }; view.BeginInit (); view.EndInit (); - view.SetRelativeLayout (Application!.Screen.Size); + view.SetRelativeLayout (Application.Screen.Size); Assert.Equal (new (0, 0, 2, 2), view.Frame); Assert.Equal (Rectangle.Empty, view.Viewport); @@ -418,7 +418,7 @@ public class DrawTests (ITestOutputHelper _output) view.Border.Thickness = new Thickness (1, 1, 1, 0); view.BeginInit (); view.EndInit (); - view.SetRelativeLayout (Application!.Screen.Size); + view.SetRelativeLayout (Application.Screen.Size); Assert.Equal (new (0, 0, 2, 1), view.Frame); Assert.Equal (Rectangle.Empty, view.Viewport); @@ -436,7 +436,7 @@ public class DrawTests (ITestOutputHelper _output) view.Border.Thickness = new Thickness (0, 1, 1, 1); view.BeginInit (); view.EndInit (); - view.SetRelativeLayout (Application!.Screen.Size); + view.SetRelativeLayout (Application.Screen.Size); Assert.Equal (new (0, 0, 1, 2), view.Frame); Assert.Equal (Rectangle.Empty, view.Viewport); @@ -461,7 +461,7 @@ public class DrawTests (ITestOutputHelper _output) view.Border.Thickness = new Thickness (1, 1, 0, 1); view.BeginInit (); view.EndInit (); - view.SetRelativeLayout (Application!.Screen.Size); + view.SetRelativeLayout (Application.Screen.Size); Assert.Equal (new (0, 0, 1, 2), view.Frame); Assert.Equal (Rectangle.Empty, view.Viewport); @@ -487,7 +487,7 @@ public class DrawTests (ITestOutputHelper _output) view.BeginInit (); view.EndInit (); - view.SetRelativeLayout (Application!.Screen.Size); + view.SetRelativeLayout (Application.Screen.Size); Assert.Equal (new (0, 0, 2, 1), view.Frame); Assert.Equal (Rectangle.Empty, view.Viewport);