     }
     
     /// The pinch gesture recognizer's divergence type, i.e. inwards or outwards. Also used to calculate attributes for a given type.
-    enum Divergence {
+    public enum Divergence {
         /// The pinch gesture recognizer's touches move inwards relative to one another.
         case Inwards
         /// The pinch gesture recognizer's touches move outwards relative to one another.

import UIKit.UIGestureRecognizerSubclass

/// Extension of `UIGestureRecognizerDelegate` which allows the delegate to receive messages when the pinch gesture recognizer starts, updates, cancels, and finishes. The `delegate` property can be set to a class implementing `DirectedPinchGestureRecognizerDelegate` and it will receive these messages.
@objc protocol DirectedPinchGestureRecognizerDelegate: UIGestureRecognizerDelegate {
    
    /// Called when the pinch gesture recognizer starts.
    optional func directedPinchGestureRecognizerDidStart(gestureRecognizer: DirectedPinchGestureRecognizer)

    }
    
    /// The pinch gesture recognizer's current divergence type. Returns `nil` if `scale` is `1.0`, `.Inwards` if `scale` is less than `1.0`, or `.Outwards` if `scale` is greater than `1.0`.
    public var divergence: Divergence? {
        if (scale == 1.0) {
            return nil
        } else if (scale < 1.0) {
