public static void ToQuadraticWithPortraitWindow() { var screen = new ScreenSpace(new Size(75, 100)); Assert.AreEqual(new Point(0.125f, 0), screen.TopLeft); Assert.AreEqual(new Point(0.875f, 1), screen.BottomRight); Assert.AreEqual(new Size(0.75f, 1), screen.Area); Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport); Assert.AreEqual(new Point(0.875f, 1f), screen.ToQuadraticSpace(new Point(75, 100))); Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(37.5f, 50))); Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10))); }
public static void ToQuadraticWithNonSquareWindow() { var screen = new ScreenSpace(new Size(100, 75)); Assert.AreEqual(new Point(0, 0.125f), screen.TopLeft); Assert.AreEqual(new Point(1, 0.875f), screen.BottomRight); Assert.AreEqual(new Size(1, 0.75f), screen.Area); Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport); Assert.AreEqual(new Point(1f, 0.875f), screen.ToQuadraticSpace(new Point(100, 75))); Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 37.5f))); Assert.AreEqual(new Size(0.1f, 0.1f), screen.ToQuadraticSpace(new Size(10, 10))); }
public static void ToQuadraticWithSquareWindow() { var screen = new ScreenSpace(new Size(100, 100)); Assert.AreEqual(Point.Zero, screen.TopLeft); Assert.AreEqual(Point.One, screen.BottomRight); Assert.AreEqual(Size.One, screen.Area); Assert.AreEqual(Rectangle.One, screen.Viewport); Assert.AreEqual(Point.One, screen.ToQuadraticSpace(new Point(100, 100))); Assert.AreEqual(Point.Half, screen.ToQuadraticSpace(new Point(50, 50))); Assert.AreEqual(new Rectangle(0.1f, 0.1f, 0.8f, 0.8f), screen.ToQuadraticSpace(new Rectangle(10, 10, 80, 80))); }
public static void DrawRectangle() { Application.Start(delegate { Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f), Color.Red); Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.25f, 0.25f), Color.Red, 45f); // Draw a rectangle located in the middle of the screen Rect.DrawOutline(new Rectangle(0.5f, 0.5f, 0.15f, 0.1f), Color.Red); // And show the whole screen area in green //This is 0, 800 for 800x600, but we need 0, 799: ScreenSpace.Area Rectangle pixelScreenRect = new Rectangle(0, 0, Application.Window.ViewportPixelWidth - 1, Application.Window.ViewportPixelHeight - 1); Rect.DrawOutline(ScreenSpace.ToQuadraticSpace(pixelScreenRect), Color.Green); }); }