Touch Input

Overview of the Touch Input technology.

To develop Touch Input, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
MANIPULATION_PROCESSOR_MANIPULATIONS

The MANIPULATION_PROCESSOR_MANIPULATIONS enumeration different kinds of manipulation which can be applied on a target object.

Functions

 
CloseGestureInfoHandle

Closes resources associated with a gesture information handle.
CloseTouchInputHandle

Closes a touch input handle, frees process memory associated with it, and invalidates the handle.
Complete

The Complete method finishes the current manipulation and stops inertia on the inertia processor.
CompleteManipulation

The CompleteManipulation method is called when the developer chooses to end the manipulation.
CompleteTime

Finishes the current manipulation at the given tick, stops inertia on the inertia processor, and raises the ManipulationCompleted event.
get_BoundaryBottom

The BoundaryBottom property limits how far towards the bottom of the screen the target object can move. (Get)
get_BoundaryLeft

The BoundaryLeft property limits how far towards the left of the screen the target object can move. (Get)
get_BoundaryRight

The BoundaryRight property limits how far towards the right of the screen the target object can move. (Get)
get_BoundaryTop

The BoundaryTop property limits how far towards the top of the screen the target object can move. (Get)
get_DesiredAngularDeceleration

The DesiredAngularDeceleration property specifies the desired rate that the target object will stop spinning in radians per msec squared. (Get)
get_DesiredDeceleration

The DesiredDeceleration property specifies the desired rate at which translation operations will decelerate. (Get)
get_DesiredDisplacement

The DesiredDisplacement property specifies the desired distance that the object will travel. (Get)
get_DesiredExpansion

The DesiredExpansion property specifies the desired change in the object's average radius. (Get)
get_DesiredExpansionDeceleration

The DesiredExpansionDeceleration property specifies the rate at which the object will stop expanding. (Get)
get_DesiredRotation

The DesiredRotation property specifies how far the current inertia processor object should manipulate the target object in radians. (Get)
get_ElasticMarginBottom

The ElasticMarginBottom property specifies the bottom region for bouncing the target object. (Get)
get_ElasticMarginLeft

The ElasticMarginLeft property specifies the leftmost region for bouncing the target object. (Get)
get_ElasticMarginRight

The ElasticMarginRight property specifies the rightmost region for bouncing the target object. (Get)
get_ElasticMarginTop

The ElasticMarginTop property specifies the topmost region for bouncing the target object. (Get)
get_InitialAngularVelocity

The InitialAngularVelocity property specifies the rotational (angular) velocity of the target when movement begins. (Get)
get_InitialExpansionVelocity

The InitialExpansionVelocity property specifies the rate of radius expansion for a target when the target was affected by inertia. (Get)
get_InitialOriginX

The InitialOriginX property specifies the starting horizontal location for a target with inertia. (Get)
get_InitialOriginY

The InitialOriginY property specifies the starting vertical location for a target with inertia. (Get)
get_InitialRadius

The InitialRadius property specifies the distance from the edge of the target to its center before the object was changed. (Get)
get_InitialTimestamp

The InitialTimestamp property specifies the starting time stamp for a target object with inertia. (Get)
get_InitialVelocityX

The InitialVelocityX property specifies the initial movement of the target object on the horizontal axis. (Get)
get_InitialVelocityY

The InitialVelocityY property specifies the initial movement of the target object on the vertical axis. (Get)
get_MinimumScaleRotateRadius

Specifies how large the distance contacts on a scale or rotate gesture need to be to trigger manipulation. (Get)
get_PivotPointX

The PivotPointX property is the horizontal center of the object. (Get)
get_PivotPointY

The PivotPointY property is the vertical center of the object. (Get)
get_PivotRadius

The PivotRadius property is used to determine how much rotation is used in single finger manipulation. (Get)
get_SupportedManipulations

The SupportedManipulations property is used to indicate which manipulations are supported by an object. (Get)
GetAngularVelocity

The GetAngularVelocity method calculates the rotational velocity that the target object is moving at.
GetExpansionVelocity

The GetExpansionVelocity method calculates the rate that the target object is expanding at.
GetGestureConfig

Retrieves the configuration for which Windows Touch gesture messages are sent from a window.
GetGestureExtraArgs

Retrieves additional information about a gesture from its GESTUREINFO handle.
GetGestureInfo

Retrieves a GESTUREINFO structure given a handle to the gesture information.
GetTouchInputInfo

Retrieves detailed information about touch inputs associated with a particular touch input handle.
GetVelocityX

Calculates and returns the horizontal velocity for the target object.
GetVelocityY

Calculates and returns the vertical velocity.
GID_ROTATE_ANGLE_FROM_ARGUMENT

The GID_ROTATE_ANGLE_FROM_ARGUMENT macro is used to interpret the GID_ROTATE ullArgument value when receiving the value in the WM_GESTURE structure.
GID_ROTATE_ANGLE_TO_ARGUMENT

Converts a radian value to an argument for rotation gesture messages.
IsTouchWindow

Checks whether a specified window is touch-capable and, optionally, retrieves the modifier flags set for the window's touch capability.
ManipulationCompleted

Handles the event when manipulation or inertia finishes.
ManipulationDelta

Handles events that happen when a manipulated object changes.
ManipulationStarted

Handles the event for when manipulation or inertia begins.
Process

The Process method performs calculations and can raise the Started, Delta, or Completed event depending on whether extrapolation is completed or not. If extrapolation finished at the previous tick, the method is no-op.
ProcessDown

The ProcessDown method feeds touch down data to the manipulation processor associated with a target.
ProcessDownWithTime

Feeds touch down data, including a timestamp, to the manipulation processor associated with a target.
ProcessMove

The ProcessMove method feeds movement data for the target object to its manipulation processor.
ProcessMoveWithTime

Feeds movement data, including a time stamp, for the target object to its manipulation processor.
ProcessTime

The ProcessTime method performs calculations for the given tick and can raise the Started, Delta, or Completed event depending on whether extrapolation is completed or not. If extrapolation finished at the previous tick, the method is no-op.
ProcessUp

The ProcessUp method feeds data to a target's manipulation processor for touch up sequences.
ProcessUpWithTime

Feeds data, including a timestamp, to a target's manipulation processor for touch-up sequences.
put_BoundaryBottom

The BoundaryBottom property limits how far towards the bottom of the screen the target object can move. (Put)
put_BoundaryLeft

The BoundaryLeft property limits how far towards the left of the screen the target object can move. (Put)
put_BoundaryRight

The BoundaryRight property limits how far towards the right of the screen the target object can move. (Put)
put_BoundaryTop

The BoundaryTop property limits how far towards the top of the screen the target object can move. (Put)
put_DesiredAngularDeceleration

The DesiredAngularDeceleration property specifies the desired rate that the target object will stop spinning in radians per msec squared. (Put)
put_DesiredDeceleration

The DesiredDeceleration property specifies the desired rate at which translation operations will decelerate. (Put)
put_DesiredDisplacement

The DesiredDisplacement property specifies the desired distance that the object will travel. (Put)
put_DesiredExpansion

The DesiredExpansion property specifies the desired change in the object's average radius. (Put)
put_DesiredExpansionDeceleration

The DesiredExpansionDeceleration property specifies the rate at which the object will stop expanding. (Put)
put_DesiredRotation

The DesiredRotation property specifies how far the current inertia processor object should manipulate the target object in radians. (Put)
put_ElasticMarginBottom

The ElasticMarginBottom property specifies the bottom region for bouncing the target object. (Put)
put_ElasticMarginLeft

The ElasticMarginLeft property specifies the leftmost region for bouncing the target object. (Put)
put_ElasticMarginRight

The ElasticMarginRight property specifies the rightmost region for bouncing the target object. (Put)
put_ElasticMarginTop

The ElasticMarginTop property specifies the topmost region for bouncing the target object. (Put)
put_InitialAngularVelocity

The InitialAngularVelocity property specifies the rotational (angular) velocity of the target when movement begins. (Put)
put_InitialExpansionVelocity

The InitialExpansionVelocity property specifies the rate of radius expansion for a target when the target was affected by inertia. (Put)
put_InitialOriginX

The InitialOriginX property specifies the starting horizontal location for a target with inertia. (Put)
put_InitialOriginY

The InitialOriginY property specifies the starting vertical location for a target with inertia. (Put)
put_InitialRadius

The InitialRadius property specifies the distance from the edge of the target to its center before the object was changed. (Put)
put_InitialTimestamp

The InitialTimestamp property specifies the starting time stamp for a target object with inertia. (Put)
put_InitialVelocityX

The InitialVelocityX property specifies the initial movement of the target object on the horizontal axis. (Put)
put_InitialVelocityY

The InitialVelocityY property specifies the initial movement of the target object on the vertical axis. (Put)
put_MinimumScaleRotateRadius

Specifies how large the distance contacts on a scale or rotate gesture need to be to trigger manipulation. (Put)
put_PivotPointX

The PivotPointX property is the horizontal center of the object. (Put)
put_PivotPointY

The PivotPointY property is the vertical center of the object. (Put)
put_PivotRadius

The PivotRadius property is used to determine how much rotation is used in single finger manipulation. (Put)
put_SupportedManipulations

The SupportedManipulations property is used to indicate which manipulations are supported by an object. (Put)
RegisterTouchWindow

Registers a window as being touch-capable.
Reset

The Reset method initializes the processor with initial timestamp and restarts inertia.
SetGestureConfig

Configures the messages that are sent from a window for Windows Touch gestures.
TOUCH_COORD_TO_PIXEL

Converts touch coordinates to pixels.
UnregisterTouchWindow

Registers a window as no longer being touch-capable.

Interfaces

 
_IManipulationEvents

Handles manipulation and inertia events.
IInertiaProcessor

The IInertiaProcessor interface handles calculations regarding object motion for Windows Touch.
IManipulationProcessor

The IManipulationProcessor provides functionality for monitoring and responding to multitouch input.

Structures

 
GESTURECONFIG

Gets and sets the configuration for enabling gesture messages and the type of this configuration.
GESTUREINFO

Stores information about a gesture.
GESTURENOTIFYSTRUCT

When transmitted with WM_GESTURENOTIFY messages, passes information about a gesture.
TOUCHINPUT

Encapsulates data for touch input.