Edit

Share via


Direct Manipulation

Overview of the Direct Manipulation technology.

To develop Direct Manipulation, you need these headers:

For programming guidance for this technology, see:

Enumerations

 
DIRECTMANIPULATION_AUTOSCROLL_CONFIGURATION

Determines the type and direction of automatic scrolling animation to apply.
DIRECTMANIPULATION_CONFIGURATION

Defines the interaction configuration states available in Direct Manipulation.
DIRECTMANIPULATION_DRAG_DROP_CONFIGURATION

Defines behaviors for the drag-drop interaction.
DIRECTMANIPULATION_DRAG_DROP_STATUS

Defines the drag-and-drop interaction states for the viewport.
DIRECTMANIPULATION_GESTURE_CONFIGURATION

Defines the gestures that can be passed to SetManualGesture.
DIRECTMANIPULATION_HITTEST_TYPE

Defines how hit testing is handled by Direct Manipulation when using a dedicated hit-test thread registered through RegisterHitTestTarget.
DIRECTMANIPULATION_HORIZONTALALIGNMENT

Defines the horizontal alignment options for content within a viewport.
DIRECTMANIPULATION_INPUT_MODE

Defines the threading behavior for SetInputMode or SetUpdateMode. The exact meaning of each constant depends on the method called.
DIRECTMANIPULATION_INTERACTION_TYPE

Defines gestures recognized by Direct Manipulation.
DIRECTMANIPULATION_MOTION_TYPES

Defines the Direct Manipulation motion type.
DIRECTMANIPULATION_SNAPPOINT_COORDINATE

Defines the coordinate system for a collection of snap points.
DIRECTMANIPULATION_SNAPPOINT_TYPE

Modifies how the final inertia end position is calculated.
DIRECTMANIPULATION_STATUS

Defines the possible states of Direct Manipulation.
DIRECTMANIPULATION_VERTICALALIGNMENT

Defines the vertical alignment settings for content within the viewport.
DIRECTMANIPULATION_VIEWPORT_OPTIONS

Defines the input behavior options for the viewport.

Functions

 
Abandon

Releases all resources that are used by the viewport and prepares it for destruction from memory.
Activate

Activates Direct Manipulation for processing input and handling callbacks on the specified window.
ActivateConfiguration

Sets the configuration for input interaction.
AddBehavior

Adds a behavior to the viewport and returns a cookie to the caller.
AddConfiguration

Adds an interaction configuration for the viewport.
AddContent

Associates content (owned by the caller) with the compositor, assigns a composition device to the content, and specifies the position of the content in the composition tree relative to other composition visuals.
AddContent

Adds secondary content, such as a panning indicator, to a viewport.
AddContentWithCrossProcessChaining

Associates content (owned by the component host) with the compositor, assigns a composition device to the content, and specifies the position of the content in the composition tree relative to other composition visuals.
AddEventHandler

Adds a new event handler to listen for viewport events.
CancelContact

Cancel all scheduled calls to SetContact for this pointerId.
CancelDeferral

Cancel the deferral set in DeferContact and process the scheduled SetContact call for this pointerId.
CreateBehavior

Factory method to create a behavior.
CreateContent

The factory method that is used to create an instance of secondary content (such as a panning indicator) inside a viewport.
CreateViewport

The factory method that is used to create a new IDirectManipulationViewport object.
Deactivate

Deactivates Direct Manipulation for processing input and handling callbacks on the specified window.
DeferContact

Specifies the amount of time to defer the execution of a call to SetContact for this pointerId.
Disable

Stops input processing by the viewport.
Enable

Starts or resumes input processing by the viewport.
Flush

Commits all pending updates in the compositor to the system for rendering.
GetCenterPoint

Retrieves the center point of the manipulation in content coordinates.
GetContentRect

Retrieves the bounding rectangle of the content, relative to the bounding rectangle of the viewport (if defined).
GetContentTransform

Retrieves the transform applied to the content.
GetInertiaEndTransform

Gets the final transform, including inertia, of the primary content.
GetNextFrameInfo

Retrieves the composition timing information from the compositor.
GetOutputTransform

Gets the final transform applied to the content.
GetPrimaryContent

Gets the primary content of a viewport that implements IDirectManipulationContent and IDirectManipulationPrimaryContent.
GetService

Retrieves an IDirectManipulationDeferContactService object.
GetStatus

Gets the status of the drag-drop interaction for the viewport this behavior is attached to.
GetStatus

Gets the state of the viewport.
GetTag

Retrieves the tag object set on this content.
GetTag

Gets the tag value of a viewport.
GetUpdateManager

Gets a pointer to an IDirectManipulationUpdateManager object that receives compositor updates.
GetViewport

Retrieves the viewport that contains the content.
GetViewportRect

Retrieves the rectangle for the viewport relative to the origin of the viewport coordinate system specified by SetViewportRect.
OnContentUpdated

Called when content inside a viewport is updated.
OnDragDropStatusChange

Called when a status change happens in the viewport that the drag-and-drop behavior is attached to.
OnInteraction

Called when an interaction is detected.
OnViewportStatusChanged

Called when the status of a viewport changes.
OnViewportUpdated

Called after all content in the viewport has been updated.
ProcessInput

Passes keyboard and mouse messages to the manipulation manager on the app's UI thread.
RegisterHitTestTarget

Registers a dedicated thread for hit testing.
RegisterWaitHandleCallback

Registers a callback that is triggered by a handle.
ReleaseAllContacts

Removes all contacts that are associated with the viewport. Inertia is started if the viewport supports inertia.
ReleaseContact

Removes a contact that is associated with a viewport.
RemoveAllBehaviors

Removes all behaviors added to the viewport.
RemoveBehavior

Removes a behavior from the viewport that matches the given cookie.
RemoveConfiguration

Removes an interaction configuration for the viewport.
RemoveContent

Removes content from the compositor.
RemoveContent

Removes secondary content from a viewport.
RemoveEventHandler

Removes an existing event handler from the viewport.
SetChaining

Specifies the motion types supported in a viewport that can be chained to a parent viewport.
SetConfiguration

Performs the auto-scroll animation for the viewport this behavior is attached to.
SetConfiguration

Sets the configuration of the drag-drop interaction for the viewport this behavior is attached to.
SetContact

Specifies an association between a contact and the viewport.
SetContentRect

Specifies the bounding rectangle of the content, relative to its viewport.
SetHorizontalAlignment

Sets the horizontal alignment of the primary content relative to the viewport.
SetInputMode

Specifies if input is visible to the UI thread.
SetManualGesture

Sets which gestures are ignored by Direct Manipulation.
SetSnapCoordinate

Specifies the coordinate system for snap points or snap intervals.
SetSnapInterval

Specifies snap points for the inertia end position at uniform intervals.
SetSnapPoints

Specifies the snap points for the inertia rest position.
SetSnapType

Specifies the type of snap point.
SetTag

Specifies the tag object for the content.
SetTag

Sets a viewport tag.
SetUpdateManager

Sets the update manager used to send compositor updates to Direct Manipulation.
SetUpdateMode

Specifies whether a viewport updates content manually instead of during an input event.
SetVerticalAlignment

Specifies the vertical alignment of the primary content in the viewport.
SetViewportOptions

Sets how the viewport handles input and output.
SetViewportRect

Sets the bounding rectangle for the viewport, relative to the origin of the viewport coordinate system.
SetViewportTransform

Specifies the transform from the viewport coordinate system to the window client coordinate system.
SetZoomBoundaries

Specifies the minimum and maximum boundaries for zoom.
Stop

Stops the manipulation and returns the viewport to a ready state.
SyncContentTransform

Modifies the content transform while maintaining the output transform.
SyncDisplayTransform

Specifies a display transform for the viewport, and synchronizes the output transform with the new value of the display transform.
UnregisterWaitHandleCallback

Deregisters a callback.
Update

Notifies the compositor when to update inertia animation.
Update

Updates Direct Manipulation at the current time.
ZoomToRect

Moves the viewport to a specific area of the primary content and specifies whether to animate the transition.

Interfaces

 
IDirectManipulationAutoScrollBehavior

Represents the auto-scroll animation behavior of content as it approaches the boundary of a given axis or axes.
IDirectManipulationCompositor

Represents a compositor object that associates manipulated content with a drawing surface, such as canvas (Windows app using JavaScript) or Canvas (Windows Store app using C++, C#, or Visual Basic).
IDirectManipulationCompositor2

Represents a compositor object that associates manipulated content with drawing surfaces across multiple processes.
IDirectManipulationContent

Encapsulates content inside a viewport, where content represents a visual surface clipped inside the viewport.
IDirectManipulationDeferContactService

Represents a service for managing associations between a contact and a viewport.
IDirectManipulationDragDropBehavior

Represents behaviors for drag and drop interactions, which are triggered by cross-slide or press-and-hold gestures.
IDirectManipulationDragDropEventHandler

Defines methods to handle drag-drop behavior events.
IDirectManipulationFrameInfoProvider

Represents a time-keeping object that measures the latency of the composition infrastructure used by the application and provides this data to Direct Manipulation.
IDirectManipulationInteractionEventHandler

Defines methods to handle interactions when they are detected.
IDirectManipulationManager

Provides access to all the Direct Manipulation features and APIs available to the client application.
IDirectManipulationManager2

Extends the IDirectManipulationManager interface that provides access to all the Direct Manipulation features and APIs available to the client application.
IDirectManipulationManager3

Extends the IDirectManipulationManager2 interface that provides access to all the Direct Manipulation features and APIs available to the client application.
IDirectManipulationPrimaryContent

Encapsulates the primary content inside a viewport.
IDirectManipulationUpdateHandler

Defines methods for handling manipulation update events.
IDirectManipulationUpdateManager

Manages how compositor updates are sent to Direct Manipulation.
IDirectManipulationViewport

Defines a region within a window (referred to as a viewport) that is able to receive and process input from user interactions.
IDirectManipulationViewport2

Provides management of behaviors on a viewport. A behavior affects the functionality of a particular part of the Direct Manipulation workflow.
IDirectManipulationViewportEventHandler

Defines methods for handling status and update events for the viewport.