 
 import UIKit
 
-public protocol ABVideoRangeSliderDelegate: class {
+@objc public protocol ABVideoRangeSliderDelegate: class {
     func didChangeValue(videoRangeSlider: ABVideoRangeSlider, startTime: Float64, endTime: Float64)
     func indicatorDidChangePosition(videoRangeSlider: ABVideoRangeSlider, position: Float64)
+    
+    @objc optional func sliderGesturesBegan()
+    @objc optional func sliderGesturesEnded()
 }
 
-public class ABVideoRangeSlider: UIView {
+public class ABVideoRangeSlider: UIView, UIGestureRecognizerDelegate {
 
     private enum DragHandleChoice {
         case start

        var position = positionFromValue(value: self.progressPercentage)
        position = position + translation.x

        if position < positionLimitStart{
            position = positionLimitStart
        }

        if position > positionLimitEnd{
            position = positionLimitEnd
        }


    public var maxSpace: Float = 0              // In Seconds
    
    public var isProgressIndicatorSticky: Bool = false
    public var isProgressIndicatorDraggable: Bool = true
    
    var isUpdatingThumbnails = false
    var isReceivingGesture: Bool = false
    
    public enum ABTimeViewPosition{
        case top
        case bottom
