Provides basic properties for the input pointer associated with a single mouse, pen/stylus, or touch contact.
In most cases, we recommend that you obtain pointer info through the pointer event handlers of your chosen Windows 8 language framework (Windows Store apps using JavaScript, Windows Store apps built for Windows using C++, C#, or Visual Basic, or Windows Store apps built for Windows using DirectX with C++).
If the event argument doesn't expose the pointer details required by your app, you can get access to extended pointer data from the event argument through the getCurrentPoint and getIntermediatePoints methods or currentPoint and intermediatePoints properties. We recommend using the getCurrentPoint and getIntermediatePoints methods as you can specify the context of the pointer data.
The static PointerPoint methods, GetCurrentPoint and GetIntermediatePoints, always use the context of the app.
Syntax
var pointerPoint = Windows.UI.Input.PointerPoint;
Attributes
- MarshalingBehaviorAttribute(None)
- StaticAttribute(Windows.UI.Input.IPointerPointStatics, NTDDI_WIN8)
- VersionAttribute(NTDDI_WIN8)
Members
The PointerPoint class has these types of members:
Methods
The PointerPoint class has these methods. With C#, Visual Basic, and C++, it also inherits methods from the Object class.
| Method | Description |
|---|---|
| GetCurrentPoint(UInt32) | Retrieves position and state information for the specified pointer. |
| GetCurrentPoint(UInt32, IPointerPointTransform) | Retrieves the transformed information for the specified pointer. |
| GetIntermediatePoints(UInt32) | Retrieves position and state information for the specified pointer, from the last pointer event up to and including the current pointer event. |
| GetIntermediatePoints(UInt32, IPointerPointTransform) | Retrieves the transformed position and state information for the specified pointer, from the last pointer event up to and including the current pointer event. |
Properties
The PointerPoint class has these properties.
| Property | Access type | Description |
|---|---|---|
| Read-only | Gets the ID of an input frame. | |
| Read-only | Gets a value that indicates whether the physical entity (touch, pen/stylus, or mouse button) is pressed down. | |
| Read-only | Gets information about the device associated with the input pointer. | |
| Read-only | Gets a unique identifier for the input pointer. | |
| Read-only | Gets the location of the pointer input in client coordinates. | |
| Read-only | Gets extended information about the input pointer. | |
| Read-only | Gets the raw location of the pointer input in client coordinates. | |
| Read-only | Gets the time when the input occurred. |
Remarks
The PointerPoint class implements IPointerPoint.
See PointerPointProperties for extended properties accessible through Properties.
Note : This class is not agile, which means that you need to consider its threading model and marshaling behavior. For more info, see Threading and Marshaling (C++/CX) and Using Windows Runtime objects in a multithreaded environment (.NET).
Examples
In the following example, we query various pointer properties using a PointerPoint object.
// Get extended pointer data. function queryPointer(e) { // We get the extended pointer info through the getCurrentPoint method // of the event argument. (We recommend using getCurrentPoint // to ensure the coordinate space is in relation to the target.) // Note: getCurrentPoint and currentPoint are only available in the // local compartment, they are not available in the web compartment. var ptTargetProperties = e.getCurrentPoint(e.currentTarget).properties; var details = "Pointer Id: " + e.pointerId; switch (e.pointerType) { case e.MSPOINTER_TYPE_MOUSE: details += "\nPointer type: mouse"; details += "\nLeft button: " + ptTargetProperties.isLeftButtonPressed; details += "\nRight button: " + ptTargetProperties.isRightButtonPressed; details += "\nWheel button: " + ptTargetProperties.isMiddleButtonPressed; details += "\nX1 button: " + ptTargetProperties.isXButton1Pressed; details += "\nX2 button: " + ptTargetProperties.isXButton2Pressed; break; case e.MSPOINTER_TYPE_PEN: details += "\nPointer type: pen"; if (ptProperties.isInContact) { details += "\nPressure: " + ptTargetProperties.pressure; details += "\nrotation: " + ptTargetProperties.rotation; details += "\nTilt X: " + ptTargetProperties.tiltX; details += "\nTilt Y: " + ptTargetProperties.tiltY; details += "\nBarrel button pressed: " + ptTargetProperties.isBarrelButtonPressed; } break; case e.MSPOINTER_TYPE_TOUCH: details += "\nPointer type: touch"; details += "\nPressure: " + ptTargetProperties.pressure; details += "\nrotation: " + ptTargetProperties.rotation; details += "\nTilt X: " + ptTargetProperties.tiltX; details += "\nTilt Y: " + ptTargetProperties.tiltY; break; default: details += "\nPointer type: " + "n/a"; break; } details += "\nPointer location (target): " + e.offsetX + ", " + e.offsetY; details += "\nPointer location (screen): " + e.screenX + ", " + e.screenY; return details; }
Requirements
|
Minimum supported client | Windows 8 [Windows Store apps only] |
|---|---|
|
Minimum supported server | Windows Server 2012 [Windows Store apps only] |
|
Minimum supported phone | Windows Phone 8 |
|
Namespace |
|
|
Metadata |
|
See also
Build date: 2/25/2013