         {
             stopDeceleration()
             
-            if _data === nil
+            if _data === nil || !self.isDragEnabled
             { // If we have no data, we have nothing to pan and no data to highlight
                 return
             }

    {
        get
        {
            return _dragEnabled
        }
        set
        {
            if _dragEnabled != newValue
            {
                _dragEnabled = newValue
                _dragYEnabled = newValue
                _dragXEnabled = newValue
            }
        }
    }
    
    open var dragYEnabled: Bool 
    {
        get
        {
            return _dragYEnabled
        }
        set
        {
            _dragYEnabled = newValue
        }
    }
    
    open var dragXEnabled: Bool 
    {
        get
        {
            return _dragXEnabled
        }
        set
        {
            _dragXEnabled = newValue
        }
    }

    
    fileprivate var _pinchZoomEnabled = false
    fileprivate var _doubleTapToZoomEnabled = true
    fileprivate var _dragXEnabled = true
    fileprivate var _dragYEnabled = true
    
    fileprivate var _scaleXEnabled = true
    fileprivate var _scaleYEnabled = true
