Namespace: DeltaEngine.ScreenSpaces
Assembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
Tests: DeltaEngine.Tests.ScreenSpaces.QuadraticScreenSpaceTests
Tests: DeltaEngine.Tests.ScreenSpaces.PixelScreenSpaceTests
4 unit tests call DeltaEngine.ScreenSpaces.ScreenSpace.Viewport
3 unit tests call DeltaEngine.ScreenSpaces.ScreenSpace.Viewport
Assembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
Syntax
Property Value
Type: RectangleRemarks
Remarks
Examples
[Test] public void SquareWindowWithQuadraticSpace() { ScreenSpace.Current = new QuadraticScreenSpace(window); window.ViewportPixelSize = new Size(100, 100); Assert.AreEqual(Vector2D.Zero, ScreenSpace.Current.TopLeft); Assert.AreEqual(Vector2D.One, ScreenSpace.Current.BottomRight); Assert.AreEqual(Rectangle.One, ScreenSpace.Current.Viewport); Assert.AreEqual(Vector2D.One, ScreenSpace.Current.FromPixelSpace(new Vector2D(100, 100))); Assert.AreEqual(Vector2D.Half, ScreenSpace.Current.FromPixelSpace(new Vector2D(50, 50))); Assert.IsTrue( ScreenSpace.Current.FromPixelSpace(new Rectangle(10, 10, 80, 80)).IsNearlyEqual( new Rectangle(0.1f, 0.1f, 0.8f, 0.8f))); }
[Test] public void ToQuadraticWithNonSquareWindow() { window.ViewportPixelSize = new Size(100, 75); var screen = new QuadraticScreenSpace(window); Assert.AreEqual(0, screen.Left); Assert.AreEqual(0.125f, screen.Top); Assert.AreEqual(1, screen.Right); Assert.AreEqual(0.875f, screen.Bottom); Assert.AreEqual(new Rectangle(0, 0.125f, 1, 0.75f), screen.Viewport); Assert.AreEqual(new Vector2D(1f, 0.875f), screen.FromPixelSpace(new Vector2D(100, 75))); Assert.AreEqual(Vector2D.Half, screen.FromPixelSpace(new Vector2D(50, 37.5f))); Assert.IsTrue(screen.FromPixelSpace(new Size(10, 10)).IsNearlyEqual(new Size(0.1f, 0.1f))); }
[Test] public void ToQuadraticWithPortraitWindow() { window.ViewportPixelSize = new Size(75, 100); var screen = new QuadraticScreenSpace(window); Assert.AreEqual(new Vector2D(0.125f, 0), screen.TopLeft); Assert.AreEqual(new Vector2D(0.875f, 1), screen.BottomRight); Assert.AreEqual(new Rectangle(0.125f, 0, 0.75f, 1), screen.Viewport); Assert.AreEqual(new Vector2D(0.875f, 1f), screen.FromPixelSpace(new Vector2D(75, 100))); Assert.AreEqual(Vector2D.Half, screen.FromPixelSpace(new Vector2D(37.5f, 50))); Assert.IsTrue(screen.FromPixelSpace(new Size(10, 10)).IsNearlyEqual(new Size(0.1f, 0.1f))); }
Examples
[Test] public void SquareWindowWithPixelSpace() { var screen = new PixelScreenSpace(window); Assert.AreEqual(Vector2D.Zero, screen.TopLeft); Assert.AreEqual(window.ViewportPixelSize, (Size)screen.BottomRight); Assert.AreEqual(new Rectangle(Vector2D.Zero, window.TotalPixelSize), screen.Viewport); Assert.AreEqual(new Vector2D(100, 100), screen.FromPixelSpace(new Vector2D(100, 100))); Assert.AreEqual(new Rectangle(10, 10, 80, 80), screen.FromPixelSpace(new Rectangle(10, 10, 80, 80))); window.CloseAfterFrame(); }
[Test] public void ChangingWindowViewportPixelSizeWillAlsoAffectTotalPixelSize() { Size border = window.TotalPixelSize - window.ViewportPixelSize; Size newViewportSize = new Size(400, 300); window.ViewportPixelSize = newViewportSize; Assert.AreEqual(newViewportSize, window.ViewportPixelSize); Assert.AreEqual(newViewportSize + border, window.TotalPixelSize); window.CloseAfterFrame(); }
[Test] public void SquareWindow() { var pixelScreen = new PixelScreenSpace(window); window.ViewportPixelSize = new Size(100, 100); Assert.AreEqual(Vector2D.Zero, pixelScreen.TopLeft); Assert.AreEqual(new Vector2D(100, 100), pixelScreen.BottomRight); Assert.AreEqual(new Rectangle(0, 0, 100, 100), pixelScreen.Viewport); Assert.AreEqual(new Vector2D(100, 100), pixelScreen.FromPixelSpace(new Vector2D(100, 100))); Assert.AreEqual(new Vector2D(50, 50), pixelScreen.FromPixelSpace(new Vector2D(50, 50))); }
See Also