protected override bool CanBegin( FingerGestures.IFingerList touches ) { if( !base.CanBegin( touches ) ) return false; if( touches.GetAverageDistanceFromStart() < MoveTolerance ) return false; return true; }
protected override GestureState OnActive( FingerGestures.IFingerList touches ) { if( touches.Count != RequiredFingerCount ) return GestureState.Failed; if( ElapsedTime >= Duration ) { RaiseOnLongPress(); return GestureState.Recognized; } // check if we moved too far from initial position if( touches.GetAverageDistanceFromStart() > MoveTolerance ) return GestureState.Failed; return GestureState.InProgress; }