ManipulationProcessor2D ManipulationProcessor2D ManipulationProcessor2D ManipulationProcessor2D Class


Implements a multiple-input, single-output compositor for two-dimensional (2-D) transformations in a shared coordinate space.

public ref class ManipulationProcessor2D
public class ManipulationProcessor2D
type ManipulationProcessor2D = class
Public Class ManipulationProcessor2D


A ManipulationProcessor2D object treats a collection of manipulators as a composite object. Your application is then freed from the necessity of tracking and managing individual manipulators.

A manipulation processor by itself does not cause an element to move. Your application begins a manipulation as necessary, and then receives information from a manipulation processor by listening to the Started, Delta and Completed events. The values received via these events enable you to change the location, size or orientation of an element as needed.

You inform a manipulation processor which types of manipulations are allowed (translate, scale, rotate) by setting the SupportedManipulations property. You can then provide non-conditional logic to the transformation of the element that is being manipulated. For instance, instead of checking if rotation is enabled before changing the orientation of an element, you can unconditionally apply the rotation factor received from the manipulation processor; if rotation is not enabled, the manipulation processor will report that no rotational change has occurred.

When an element that is being manipulated is released (all manipulators are removed), you can use inertia processing to simulate friction and cause the element to gradually slow its movements before coming to a stop. For more information see the InertiaProcessor2D class.


ManipulationProcessor2D(Manipulations2D) ManipulationProcessor2D(Manipulations2D) ManipulationProcessor2D(Manipulations2D) ManipulationProcessor2D(Manipulations2D)

Creates a new ManipulationProcessor2D object.

ManipulationProcessor2D(Manipulations2D, ManipulationPivot2D) ManipulationProcessor2D(Manipulations2D, ManipulationPivot2D) ManipulationProcessor2D(Manipulations2D, ManipulationPivot2D) ManipulationProcessor2D(Manipulations2D, ManipulationPivot2D)

Creates a new ManipulationProcessor2D object.


MinimumScaleRotateRadius MinimumScaleRotateRadius MinimumScaleRotateRadius MinimumScaleRotateRadius

Gets or sets the minimum radius, in coordinate units, necessary for a manipulator to participate in scaling and rotation.

Pivot Pivot Pivot Pivot

Gets or sets the pivot information for the manipulation processor.

SupportedManipulations SupportedManipulations SupportedManipulations SupportedManipulations

Gets or sets the current set of supported manipulations.


CompleteManipulation(Int64) CompleteManipulation(Int64) CompleteManipulation(Int64) CompleteManipulation(Int64)

Forces the current manipulation to complete and raises the Completed event.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
ProcessManipulators(Int64, IEnumerable<Manipulator2D>) ProcessManipulators(Int64, IEnumerable<Manipulator2D>) ProcessManipulators(Int64, IEnumerable<Manipulator2D>) ProcessManipulators(Int64, IEnumerable<Manipulator2D>)

Processes the specified manipulators as a single batch action.

SetParameters(ManipulationParameters2D) SetParameters(ManipulationParameters2D) SetParameters(ManipulationParameters2D) SetParameters(ManipulationParameters2D)

Sets parameters on the manipulation processor.

ToString() ToString() ToString() ToString()

Returns a string that represents the current object.

(Inherited from Object)


Completed Completed Completed Completed

Occurs when a manipulation has competed.

Delta Delta Delta Delta

Occurs when the manipulation origin has changed or when translation, scaling, or rotation have occurred.

Started Started Started Started

Occurs when a new manipulation has started.

Applies to