CursorPositionTranslater ClassDelta Engine Documentation
Used to translate courser and touch from and to client coordinates. Also used for SharpDX. View code on GitHub
Inheritance Hierarchy

System Object
  DeltaEngine.Input.Windows CursorPositionTranslater

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

public class CursorPositionTranslater

The CursorPositionTranslater type exposes the following members.

Constructors

  NameDescription
Public methodCursorPositionTranslater
Initializes a new instance of the CursorPositionTranslater class
Top
Methods

  NameDescription
Public methodGetCursorPosition
Public methodSetCursorPosition
Top
Remarks

Tests: DeltaEngine.Input.Windows.Tests.CursorPositionTranslaterTests
Examples

3 unit tests call DeltaEngine.Input.Windows.CursorPositionTranslater
[Test, CloseAfterFirstFrame]
public void GetClientPositionOnScreen()
{
    var window = Resolve<Window>();
    var translator = new CursorPositionTranslater(window);
    var outsidePosition = Resolve<ScreenSpace>().FromPixelSpace(new Vector2D(-10, -10));
    var screenPos = translator.ToScreenPositionFromScreenSpace(outsidePosition);
    Assert.IsTrue(screenPos.X < window.PixelPosition.X || screenPos.Y < window.PixelPosition.Y);
    Assert.AreEqual(outsidePosition, translator.FromScreenPositionToScreenSpace(screenPos));
}
[Test, CloseAfterFirstFrame]
public void ConvertPixelFromScreenPositionAndBack()
{
    var positionTranslator = new CursorPositionTranslater(Resolve<Window>());
    var topLeftPixel = Vector2D.Zero;
    var outside = positionTranslator.FromScreenPositionToScreenSpace(topLeftPixel);
    Assert.AreEqual(topLeftPixel, positionTranslator.ToScreenPositionFromScreenSpace(outside));
}
[Test, CloseAfterFirstFrame, Ignore] // This moves the mouse every time NCrunch runs! 
public void GetReturnsWhatWasSet()
{
    var positionTranslator = new CursorPositionTranslater(Resolve<Window>());
    var setPoint = new Vector2D(0.1f, 0.2f);
    positionTranslator.SetCursorPosition(setPoint);
    var getPoint = positionTranslator.GetCursorPosition();
    Assert.AreEqual(setPoint.X, getPoint.X, 0.1f);
    Assert.AreEqual(setPoint.Y, getPoint.Y, 0.1f);
}
See Also