             
             let touchLocation = touch.locationInView(self)
             
-            if (isDragDecelerationEnabled)
-            {
-                sampleVelocity(touchLocation: touchLocation)
-            }
-            
-            if (!_isRotating && distance(eventX: touchLocation.x, startX: _touchStartPoint.x, eventY: touchLocation.y, startY: _touchStartPoint.y) > CGFloat(8.0))
-            {
-                _isRotating = true
-            }
-            else
-            {
-                self.updateGestureRotation(x: touchLocation.x, y: touchLocation.y)
-                setNeedsDisplay()
-            }
+            processRotationGestureMoved(location: touchLocation)
         }
         
         if (!_isRotating)

    /// flag that indicates if rotation is done with two fingers or one.
    /// when the chart is inside a scrollview, you need a two-finger rotation because a one-finger rotation eats up all touch events.
    ///
    /// **default**: false
    public var isRotationWithTwoFingers: Bool
    {

    
    /// flag that indicates if rotation is done with two fingers or one.
    /// when the chart is inside a scrollview, you need a two-finger rotation because a one-finger rotation eats up all touch events.
    ///
    /// On iOS this will disable one-finger rotation.
    /// On OSX this will keep two-finger multitouch rotation, and one-pointer mouse rotation.
    /// 
    /// **default**: false
    public var rotationWithTwoFingers: Bool
