/// <summary> /// Constructor. /// </summary> /// <param name="element"> /// Manipulation target. /// </param> /// <param name="reference"> /// Element that contains the coordinate space used for expressing transformations /// during manipulations, usually the parent element of Target in the UI tree. /// </param> /// <remarks> /// Transformations during manipulations cannot be expressed in the coordinate space of the manipulation target. /// Thus <paramref name="element"/> and <paramref name="reference"/> must be different. Usually <paramref name="reference"/> /// will be an ancestor of <paramref name="element"/> in the UI tree. /// </remarks> internal InputProcessor(Windows.UI.Xaml.FrameworkElement element, Windows.UI.Xaml.Controls.Canvas reference) { _target = element; _reference = reference; _target.AddHandler(UIElement.PointerCanceledEvent, new PointerEventHandler(OnPointerCanceled), true); _target.AddHandler(UIElement.PointerCaptureLostEvent, new PointerEventHandler(OnPointerCaptureLost), true); _target.AddHandler(UIElement.PointerReleasedEvent, new PointerEventHandler(OnPointerReleased), true); _target.AddHandler(UIElement.PointerExitedEvent, new PointerEventHandler(OnPointerExited), true); _target.AddHandler(UIElement.PointerMovedEvent, new PointerEventHandler(OnPointerMoved), true); _target.AddHandler(UIElement.PointerPressedEvent, new PointerEventHandler(OnPointerPressed), true); _target.AddHandler(UIElement.PointerWheelChangedEvent, new PointerEventHandler(OnPointerWheelChanged), true); // Create the gesture recognizer _gestureRecognizer = new Windows.UI.Input.GestureRecognizer(); _gestureRecognizer.GestureSettings = Windows.UI.Input.GestureSettings.None; }