         }
     }
     
-    /// redo: If possible, it will redo the last undone stroke
-    /// - Returns: Void
+    /// if possible, it will redo the last undone stroke
     public func redo() -> Void {
         if undoManager!.canRedo {
             undoManager?.redo()

        UIGraphicsEndImageContext()
    }
    
    /// exportDrawing: exports the current drawing
    /// - Returns: UIImage
    public func exportDrawing() -> UIImage {
        UIGraphicsBeginImageContext(mainImageView.bounds.size)
        mainImageView.image?.drawInRect(mainImageView.frame)

//  Created by Christian Paul Dehli
//

/// the protocol that the container of TouchDrawView must conform to
public protocol TouchDrawViewDelegate {
    /// triggered when undo is enabled (only if it was previously disabled)
    func undoEnabled() -> Void
    
    /// triggered when undo is disabled (only if it previously enabled)
    func undoDisabled() -> Void
    
    /// triggered when redo is enabled (only if it was previously disabled)
    func redoEnabled() -> Void
    
    /// triggered when redo is disabled (only if it previously enabled)
    func redoDisabled() -> Void
    
    /// triggered when clear is enabled (only if it was previously disabled)
    func clearEnabled() -> Void
    
    /// triggered when clear is disabled (only if it previously enabled)
    func clearDisabled() -> Void
}

/// properties to describe the brush
private class BrushProperties {
    /// color of the brush
    private var color: CIColor!
    /// width of the brush
    private var width: CGFloat!
    
    init() {
