@@ -8,7 +8,7 @@ import AVKit
88
99@objc ( RNTrimmerView)
1010class RNTrimmerView : RCTView , ICGVideoTrimmerDelegate {
11-
11+
1212 var trimmerView : ICGVideoTrimmerView ?
1313 var asset : AVAsset !
1414 var rect : CGRect = CGRect . zero
@@ -18,18 +18,19 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
1818 var onTrackerMove : RCTBubblingEventBlock ?
1919 var _minLength : CGFloat ? = nil
2020 var _maxLength : CGFloat ? = nil
21+ var _thumbWidth : CGFloat ? = nil
2122 var _trackerColor : UIColor = UIColor . clear
22-
23+
2324 var source : NSString ? {
2425 set {
2526 setSource ( source: newValue)
2627 }
2728 get {
28-
29+
2930 return nil
3031 }
3132 }
32-
33+
3334 var height : NSNumber ? {
3435 set {
3536 self . rect. size. height = RCTConvert . cgFloat ( newValue)
@@ -39,7 +40,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
3940 return nil
4041 }
4142 }
42-
43+
4344 var width : NSNumber ? {
4445 set {
4546 self . rect. size. width = RCTConvert . cgFloat ( newValue)
@@ -49,7 +50,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
4950 return nil
5051 }
5152 }
52-
53+
5354 var themeColor : NSString ? {
5455 set {
5556 if newValue != nil {
@@ -62,7 +63,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
6263 return nil
6364 }
6465 }
65-
66+
6667 var maxLength : NSNumber ? {
6768 set {
6869 if newValue != nil {
@@ -74,7 +75,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
7475 return nil
7576 }
7677 }
77-
78+
7879 var minLength : NSNumber ? {
7980 set {
8081 if newValue != nil {
@@ -86,7 +87,19 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
8687 return nil
8788 }
8889 }
89-
90+
91+ var thumbWidth : NSNumber ? {
92+ set {
93+ if newValue != nil {
94+ self . _thumbWidth = RCTConvert . cgFloat ( newValue!)
95+ self . updateView ( )
96+ }
97+ }
98+ get {
99+ return nil
100+ }
101+ }
102+
90103 var currentTime : NSNumber ? {
91104 set {
92105 print ( " CHANGED: [TrimmerView]: currentTime: \( newValue) " )
@@ -100,7 +113,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
100113 return nil
101114 }
102115 }
103-
116+
104117 var trackerColor : NSString ? {
105118 set {
106119 if newValue == nil {
@@ -120,7 +133,7 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
120133 return nil
121134 }
122135 }
123-
136+
124137 func updateView( ) {
125138 self . frame = rect
126139 if trimmerView != nil {
@@ -131,20 +144,23 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
131144 if _minLength != nil {
132145 trimmerView!. minLength = _minLength!
133146 }
147+ if _thumbWidth != nil {
148+ trimmerView!. thumbWidth = _thumbWidth!
149+ }
134150 self . trimmerView!. resetSubviews ( )
135151 // Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(self.updateTrimmer), userInfo: nil, repeats: false)
136152 }
137153 }
138-
154+
139155 func updateTrimmer( ) {
140156 self . trimmerView!. resetSubviews ( )
141157 }
142-
158+
143159 func setSource( source: NSString ? ) {
144160 if source != nil {
145161 let pathToSource = NSURL ( string: source! as String )
146162 self . asset = AVURLAsset ( url: pathToSource as! URL , options: nil )
147-
163+
148164 trimmerView = ICGVideoTrimmerView ( frame: rect, asset: self . asset)
149165 trimmerView!. showsRulerView = false
150166 trimmerView!. hideTracker ( false )
@@ -154,27 +170,27 @@ class RNTrimmerView: RCTView, ICGVideoTrimmerDelegate {
154170 self . updateView ( )
155171 }
156172 }
157-
173+
158174 init ( frame: CGRect , bridge: RCTBridge ) {
159175 super. init ( frame: frame)
160176 self . bridge = bridge
161177 }
162-
178+
163179 required init ? ( coder aDecoder: NSCoder ) {
164180 fatalError ( " init(coder:) has not been implemented " )
165181 }
166-
182+
167183 func onTrimmerPositionChange( startTime: CGFloat , endTime: CGFloat ) {
168184 if self . onChange != nil {
169185 let event = [ " startTime " : startTime, " endTime " : endTime]
170186 self . onChange!( event)
171187 }
172188 }
173-
189+
174190 func trimmerView( _ trimmerView: ICGVideoTrimmerView , didChangeLeftPosition startTime: CGFloat , rightPosition endTime: CGFloat ) {
175191 onTrimmerPositionChange ( startTime: startTime, endTime: endTime)
176192 }
177-
193+
178194 public func trimmerView( _ trimmerView: ICGVideoTrimmerView , currentPosition currentTime: CGFloat ) {
179195 print ( " current " , currentTime)
180196 if onTrackerMove == nil {
0 commit comments