MotionEvent.PointerCoords

public static final class MotionEvent.PointerCoords
extends Object

java.lang.Object
   ↳ android.view.MotionEvent.PointerCoords


Transfer object for pointer coordinates. Objects of this type can be used to specify the pointer coordinates when creating new MotionEvent objects and to query pointer coordinates in bulk. Refer to InputDevice for information about how different kinds of input devices and sources represent pointer coordinates.

Summary

Fields

public float orientation

The orientation of the touch area and tool area in radians clockwise from vertical.

public float pressure

A normalized value that describes the pressure applied to the device by a finger or other tool.

public float size

A normalized value that describes the approximate size of the pointer touch area in relation to the maximum detectable size of the device.

public float toolMajor

The length of the major axis of an ellipse that describes the size of the approaching tool.

public float toolMinor

The length of the minor axis of an ellipse that describes the size of the approaching tool.

public float touchMajor

The length of the major axis of an ellipse that describes the touch area at the point of contact.

public float touchMinor

The length of the minor axis of an ellipse that describes the touch area at the point of contact.

public float x

The X component of the pointer movement.

public float y

The Y component of the pointer movement.

Public constructors

PointerCoords()

Creates a pointer coords object with all axes initialized to zero.

PointerCoords(MotionEvent.PointerCoords other)

Creates a pointer coords object as a copy of the contents of another pointer coords object.

Public methods

void clear()

Clears the contents of this object.

void copyFrom(MotionEvent.PointerCoords other)

Copies the contents of another pointer coords object.

float getAxisValue(int axis)

Gets the value associated with the specified axis.

boolean isResampled()

Returns true if these pointer coordinates were generated by resampling, rather than from an actual input event from the device at this time.

void setAxisValue(int axis, float value)

Sets the value associated with the specified axis.

Inherited methods

Fields

orientation

Added in API level 9
public float orientation

The orientation of the touch area and tool area in radians clockwise from vertical. An angle of 0 radians indicates that the major axis of contact is oriented upwards, is perfectly circular or is of unknown orientation. A positive angle indicates that the major axis of contact is oriented to the right. A negative angle indicates that the major axis of contact is oriented to the left. The full range is from -PI/2 radians (finger pointing fully left) to PI/2 radians (finger pointing fully right).

pressure

Added in API level 9
public float pressure

A normalized value that describes the pressure applied to the device by a finger or other tool. The pressure generally ranges from 0 (no pressure at all) to 1 (normal pressure), although values higher than 1 may be generated depending on the calibration of the input device.

size

Added in API level 9
public float size

A normalized value that describes the approximate size of the pointer touch area in relation to the maximum detectable size of the device. It represents some approximation of the area of the screen being pressed; the actual value in pixels corresponding to the touch is normalized with the device specific range of values and scaled to a value between 0 and 1. The value of size can be used to determine fat touch events.

toolMajor

Added in API level 9
public float toolMajor

The length of the major axis of an ellipse that describes the size of the approaching tool. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. If the device is a touch screen, the length is reported in pixels, otherwise it is reported in device-specific units.

toolMinor

Added in API level 9
public float toolMinor

The length of the minor axis of an ellipse that describes the size of the approaching tool. The tool area represents the estimated size of the finger or pen that is touching the device independent of its actual touch area at the point of contact. If the device is a touch screen, the length is reported in pixels, otherwise it is reported in device-specific units.

touchMajor

Added in API level 9
public float touchMajor

The length of the major axis of an ellipse that describes the touch area at the point of contact. If the device is a touch screen, the length is reported in pixels, otherwise it is reported in device-specific units.

touchMinor

Added in API level 9
public float touchMinor

The length of the minor axis of an ellipse that describes the touch area at the point of contact. If the device is a touch screen, the length is reported in pixels, otherwise it is reported in device-specific units.

x

Added in API level 9
public float x

The X component of the pointer movement.

See also:

y

Added in API level 9
public float y

The Y component of the pointer movement.

See also:

Public constructors

PointerCoords

Added in API level 9
public PointerCoords ()

Creates a pointer coords object with all axes initialized to zero.

PointerCoords

Added in API level 9
public PointerCoords (MotionEvent.PointerCoords other)

Creates a pointer coords object as a copy of the contents of another pointer coords object.

Parameters
other MotionEvent.PointerCoords: The pointer coords object to copy.

Public methods

clear

Added in API level 12
public void clear ()

Clears the contents of this object. Resets all axes to zero.

copyFrom

Added in API level 12
public void copyFrom (MotionEvent.PointerCoords other)

Copies the contents of another pointer coords object.

Parameters
other MotionEvent.PointerCoords: The pointer coords object to copy.

getAxisValue

Added in API level 12
public float getAxisValue (int axis)

Gets the value associated with the specified axis.

Parameters
axis int: The axis identifier for the axis value to retrieve.

Returns
float The value associated with the axis, or 0 if none.

isResampled

public boolean isResampled ()

Returns true if these pointer coordinates were generated by resampling, rather than from an actual input event from the device at this time.

Resampling extrapolates or interpolates touch coordinates reported by the input device to better align them with the refresh rate of the display, resulting in smoother movements, in particular for scrolling. Resampled coordinates are always added to batches, so a motion event will always contain at least one sample that is an original event from the input device (i.e. for which this method will return false).

Resampling does not occur if unbuffered dispatch has been requested, or if it has been disabled by the manufacturer (for example, on hardware that already synchronizes its touch events and display frames).

Returns
boolean

setAxisValue

Added in API level 12
public void setAxisValue (int axis, 
                float value)

Sets the value associated with the specified axis.

Parameters
axis int: The axis identifier for the axis value to assign.

value float: The value to set.