             case .Right:
                 _fingerOffset = drawerPoint.x
             }
+            drawerPanDidBegin?()
         case .Ended:
             let swipeEndPoint = gestureRecognizer.locationInView(view)
             let swipeEndDate = NSDate()

            
            if fabs(v.x) > 300.0 || fabs(v.y) > 300.0 {
                let dur = Double(deltaUnits) / Double(v.x)
                println(dur)
                if deltaUnits > 0 {
                    openDrawer(customDuration: dur)
                } else {
                    closeDrawer(customDuration: dur)
                }
            } else if numer / denom < showHideThresholdRatio {
                closeDrawer()
            } else {
                openDrawer()
            }
        default:
            var constraint: CGFloat

        return drawerViewController.view
    }
    
    /// Handle invoked when drawer will open
    public var drawerWillOpen: (() -> Void)?
    /// Handle invoked when the drawer will close
    public var drawerWillClose: (() -> Void)?
    
    /// Handle invoked when drawer slides (argument represents percent shown,
    /// 0% being 0 and 100% being `drawerSize`)
    public var drawerDidPan: ((CGFloat) -> Void)?
    /// Handle invoked when the drawer pan gesture will begin
    public var drawerPanDidBegin: (() -> Void)?
    /// Handle invoked when drawer pan did finish (first argument represnts
    /// the speed at which the drawer will close, second, second represents
    /// whether the drawer will open or not)
    public var drawerPanDidFinish: ((NSTimeInterval, Bool) -> Void)?
    
    // ***
    
