void DraggablePositionBehavior::ProcessManipulationUpdate(const PointerState & PointerState) { if (!m_Widget.HasTypingFocus()) { auto ParentLocalPosition = m_Widget.GlobalToParent(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition())); m_Widget.ModifyPosition() = m_Widget.GetGestureRecognizer().m_ManipulationOffset + ParentLocalPosition; } }
template <typename T> void ListWidget<T>::ProcessManipulationUpdated(const PointerState & PointerState) { if (!HasTypingFocus()) { auto ParentLocalPosition = GlobalToParent(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition())); ModifyPosition() = GetGestureRecognizer().m_ManipulationOffset + ParentLocalPosition; } }
void TextFieldWidget::ProcessManipulationStarted(const PointerState & PointerState) { if (!HasTypingFocus()) { auto ParentLocalPosition = GlobalToParent(Vector2n(PointerState.GetAxisState(0).GetPosition(), PointerState.GetAxisState(1).GetPosition())); ModifyGestureRecognizer().m_ManipulationOffset = GetPosition() - ParentLocalPosition; } }