QuadraticScreenSpace FromPixelSpace Method (Vector2D)Delta Engine Documentation

Namespace: DeltaEngine.ScreenSpaces
Assembly: DeltaEngine (in DeltaEngine.dll) Version: 1.1.1.0 (1.1.1)
Syntax

public override Vector2D FromPixelSpace(
	Vector2D pixelPosition
)

Return Value

Type: Vector2D
Remarks

Tests: DeltaEngine.Tests.ScreenSpaces.QuadraticScreenSpaceTests
Examples

5 unit tests call DeltaEngine.ScreenSpaces.QuadraticScreenSpace.FromPixelSpace(DeltaEngine.Datatypes.Vector2D)
[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 ToQuadraticWithUnevenSize()
{
    window.ViewportPixelSize = new Size(99, 199);
    var screen = new QuadraticScreenSpace(window);
    Assert.AreEqual(new Vector2D(0.2512563f, 0), screen.TopLeft);
    Assert.AreEqual(new Vector2D(0.7487437f, 1), screen.BottomRight);
    Assert.AreEqual(screen.BottomRight, screen.FromPixelSpace(new Vector2D(99, 199)));
}
[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)));
}
See Also