예제 #1
0
        public void OnTwist(TwistGesture twist)
        {
            InputMessage.MessageTypes type = InputMessage.MessageTypes.Failed;

            switch (twist.Phase)
            {
            case ContinuousGesturePhase.Started:
                type = InputMessage.MessageTypes.Begin;
                break;

            case ContinuousGesturePhase.Updated:
                type = InputMessage.MessageTypes.Update;
                break;

            case ContinuousGesturePhase.Ended:
                type = InputMessage.MessageTypes.End;
                break;

            default:
                break;
            }

            _updates.Add(new InputMessage(
                             InputMessage.InputTypes.TwoFingerTwist,
                             type,
                             twist.Fingers.Select(f => f.Position).ToList(),
                             twist.Fingers.Select(f => f.DeltaPosition).ToList(),
                             new List <float> {
                twist.DeltaRotation
            }
                             ));
        }
예제 #2
0
        public void OnPinch(PinchGesture pinch)
        {
            InputMessage.MessageTypes type = InputMessage.MessageTypes.Failed;

            switch (pinch.Phase)
            {
            case ContinuousGesturePhase.Started:
                type = InputMessage.MessageTypes.Begin;
                break;

            case ContinuousGesturePhase.Updated:
                type = InputMessage.MessageTypes.Update;
                break;

            case ContinuousGesturePhase.Ended:
                type = InputMessage.MessageTypes.End;
                break;

            default:
                break;
            }

            _updates.Add(new InputMessage(
                             InputMessage.InputTypes.TwoFingerPinch,
                             type,
                             pinch.Fingers.Select(f => f.Position).ToList(),
                             pinch.Fingers.Select(f => f.DeltaPosition).ToList(),
                             new List <float> {
                pinch.Delta
            }
                             ));
        }
예제 #3
0
        public void OnTwoFingerDrag(DragGesture drag)
        {
            InputMessage.MessageTypes type = InputMessage.MessageTypes.Failed;

            switch (drag.Phase)
            {
            case ContinuousGesturePhase.Started:
                type = InputMessage.MessageTypes.Begin;
                break;

            case ContinuousGesturePhase.Updated:
                type = InputMessage.MessageTypes.Update;
                break;

            case ContinuousGesturePhase.Ended:
                type = InputMessage.MessageTypes.End;
                break;

            default:
                break;
            }

            _updates.Add(new InputMessage(
                             InputMessage.InputTypes.TwoFingerDrag,
                             type,
                             drag.Fingers.Select(f => f.Position).ToList(),
                             drag.Fingers.Select(f => f.DeltaPosition).ToList()
                             ));
        }