internal override void ProcessMotionEvent(GestureMotionEvent e) { if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown(e); //TODO - this should probably be possible at this point? if (State == GestureRecognizerState.Began) { //TODO track all pointers that are down. PointerId = e.GetPointerId(0); e.IsConsumed = true; e.IsCancelled = Recognizer.CancelsTouchesInView; } } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else if (e.ActionMasked == MotionEventActions.Cancel) { State = GestureRecognizerState.Cancelled; Console.WriteLine("GESTURE CANCELLED"); PointerId = -1; SendGestureUpdate(); } else if (e.ActionMasked == MotionEventActions.Up) { OnUp(e); e.IsConsumed = State != GestureRecognizerState.Failed; } }
internal override void ProcessMotionEvent(GestureMotionEvent e) { // Console.WriteLine ("pan gesture state - {0} e.action {1}", State, e.Action); if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown(e); // e.IsConsumed = State == GestureRecognizerState.Possible; } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else { if (PointerId == e.GetPointerId(0)) { if (e.ActionMasked == MotionEventActions.Cancel || e.ActionMasked == MotionEventActions.Up) { OnUp(e); // e.IsConsumed = true; } else if (e.Action == MotionEventActions.Move) { OnMove(e); // e.IsConsumed = State != GestureRecognizerState.Cancelled && State != GestureRecognizerState.Ended && State != GestureRecognizerState.Failed; } } } }
internal override void ProcessMotionEvent(GestureMotionEvent e) { _startTime = DateTime.Now; if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown(e); if (State == GestureRecognizerState.Began) { e.IsConsumed = true; e.IsCancelled = true; } } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else if (e.ActionMasked == MotionEventActions.Cancel) { State = GestureRecognizerState.Cancelled; Console.WriteLine("GESTURE CANCELLED"); PointerId = -1; SendGestureUpdate(); } else if (e.ActionMasked == MotionEventActions.Up) { OnUp(e); if (PointerId == e.GetPointerId(0)) { e.IsConsumed = State != GestureRecognizerState.Failed; } } }
void OnDown (GestureMotionEvent e) { //TODO - should really be possible until all taps/fingers are satisfied. State = (e.PointerCount == TapGestureRecognizer.NumberOfTouchesRequired) ? GestureRecognizerState.Began : GestureRecognizerState.Failed; _currentTapCount = 0; //TODO track all pointers that are down. PointerId = e.GetPointerId (0); FirstTouchPoint = new Xamarin.Forms.Point (e.GetX (0), e.GetY (0)); if (TapGestureRecognizer.NumberOfTapsRequired > 1 && State == GestureRecognizerState.Began) { ResetMultiTapTimer (true); } }
void OnDown (GestureMotionEvent e) { //TODO - should really be possible until all taps/fingers are satisfied. if (e.PointerCount == LongPressGestureRecognizer.NumberOfTouchesRequired) { State = GestureRecognizerState.Began; PointerId = e.GetPointerId (0); FirstTouchPoint = new Xamarin.Forms.Point (e.GetX (0), e.GetY (0)); ResetLongPressTimer (true); } else { State = GestureRecognizerState.Failed; } }
void OnDown(GestureMotionEvent e) { //TODO - should really be possible until all taps/fingers are satisfied. State = (e.PointerCount == TapGestureRecognizer.NumberOfTouchesRequired) ? GestureRecognizerState.Began : GestureRecognizerState.Failed; _currentTapCount = 0; //TODO track all pointers that are down. PointerId = e.GetPointerId(0); FirstTouchPoint = new Xamarin.Forms.Point(e.GetX(0), e.GetY(0)); if (TapGestureRecognizer.NumberOfTapsRequired > 1 && State == GestureRecognizerState.Began) { ResetMultiTapTimer(true); } }
void OnDown(GestureMotionEvent e) { //TODO - really should be possible at this point - min distance should trigger began State = GestureRecognizerState.Possible; PointerId = e.GetPointerId(0); Console.WriteLine("PAN POSSIBLE"); _rawTranslation = new Xamarin.Forms.Point(0, 0); _currentPoint = new Xamarin.Forms.Point(e.GetX(), e.GetY()); _currentScreenPoint = new Xamarin.Forms.Point(e.GetX(), e.GetY()); _previousPoint = new Xamarin.Forms.Point(e.GetX(), e.GetY()); _startPoint = new Xamarin.Forms.Point(NativeView.GetX(), NativeView.GetY()); SendGestureEvent(); }
void OnDown(GestureMotionEvent e) { //TODO - should really be possible until all taps/fingers are satisfied. if (e.PointerCount == LongPressGestureRecognizer.NumberOfTouchesRequired) { State = GestureRecognizerState.Began; PointerId = e.GetPointerId(0); FirstTouchPoint = new Xamarin.Forms.Point(e.GetX(0), e.GetY(0)); ResetLongPressTimer(true); } else { State = GestureRecognizerState.Failed; } }
internal override void ProcessMotionEvent (GestureMotionEvent e) { // Console.WriteLine ("pan gesture state - {0} e.action {1}", State, e.Action); if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown (e); // e.IsConsumed = State == GestureRecognizerState.Possible; } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else { if (PointerId == e.GetPointerId (0)) { if (e.ActionMasked == MotionEventActions.Cancel || e.ActionMasked == MotionEventActions.Up) { OnUp (e); // e.IsConsumed = true; } else if (e.Action == MotionEventActions.Move) { OnMove (e); // e.IsConsumed = State != GestureRecognizerState.Cancelled && State != GestureRecognizerState.Ended && State != GestureRecognizerState.Failed; } } } }
internal override void ProcessMotionEvent (GestureMotionEvent e) { _startTime = DateTime.Now; if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown (e); if (State == GestureRecognizerState.Began) { // e.IsConsumed = true; e.IsCancelled = true; } } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else if (e.ActionMasked == MotionEventActions.Cancel) { State = GestureRecognizerState.Cancelled; Console.WriteLine ("GESTURE CANCELLED"); } else if (e.ActionMasked == MotionEventActions.Up) { OnUp (e); if (PointerId == e.GetPointerId (0)) { // e.IsConsumed = State != GestureRecognizerState.Failed; } } }
internal override void ProcessMotionEvent (GestureMotionEvent e) { if (e.Action == MotionEventActions.Down && PointerId == -1) { OnDown (e); //TODO - this should probably be possible at this point? if (State == GestureRecognizerState.Began) { //TODO track all pointers that are down. PointerId = e.GetPointerId (0); // e.IsConsumed = true; e.IsCancelled = Recognizer.CancelsTouchesInView; } } else if (State == GestureRecognizerState.Cancelled || State == GestureRecognizerState.Ended || State == GestureRecognizerState.Failed) { return; } else if (e.ActionMasked == MotionEventActions.Cancel) { State = GestureRecognizerState.Cancelled; Console.WriteLine ("GESTURE CANCELLED"); } else if (e.ActionMasked == MotionEventActions.Up) { OnUp (e); // e.IsConsumed = State != GestureRecognizerState.Failed; } }
void OnDown (GestureMotionEvent e) { //TODO - really should be possible at this point - min distance should trigger began State = GestureRecognizerState.Possible; PointerId = e.GetPointerId (0); Console.WriteLine ("PAN POSSIBLE"); _rawTranslation = new Xamarin.Forms.Point (0, 0); FirstTouchPoint = new Xamarin.Forms.Point (e.GetX (), e.GetY ()); _currentPoint = FirstTouchPoint; _currentScreenPoint = FirstTouchPoint; _previousPoint = FirstTouchPoint; _viewStartLocation = Recognizer.View.GetNativeScreenPosition (); }