UGCKitVideoRangeSlider.h 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. // Copyright (c) 2019 Tencent. All rights reserved.
  2. #import <UIKit/UIKit.h>
  3. #import "UGCKitRangeContent.h"
  4. typedef NS_ENUM(NSInteger,UGCKitRangeColorType){
  5. UGCKitRangeColorType_Cut,
  6. UGCKitRangeColorType_Effect,
  7. UGCKitRangeColorType_Time,
  8. UGCKitRangeColorType_Filter,
  9. UGCKitRangeColorType_Paster,
  10. UGCKitRangeColorType_Text
  11. };
  12. /**
  13. 视频缩略条拉条
  14. */
  15. @interface UGCKitVideoColorInfo : NSObject
  16. @property (nonatomic,strong) UIView *colorView;
  17. @property (nonatomic,assign) CGFloat startPos;
  18. @property (nonatomic,assign) CGFloat endPos;
  19. @property (nonatomic,assign) UGCKitRangeColorType UGCKitRangeColorType;
  20. @end
  21. @protocol VideoRangeSliderDelegate;
  22. @interface UGCKitVideoRangeSlider : UIView
  23. @property (weak) id<VideoRangeSliderDelegate> delegate;
  24. @property (nonatomic) UIScrollView *bgScrollView;
  25. @property (nonatomic) UIImageView *middleLine;
  26. @property (nonatomic) UGCKitRangeContentConfig* appearanceConfig;
  27. @property (nonatomic) UGCKitRangeContent *rangeContent;
  28. @property (nonatomic) CGFloat durationMs;
  29. @property (nonatomic) CGFloat currentPos;
  30. @property (readonly) CGFloat leftPos;
  31. @property (readonly) CGFloat rightPos;
  32. @property (readonly) CGFloat centerPos;
  33. @property (nonatomic) float fps;
  34. - (void)setAppearanceConfig:(UGCKitRangeContentConfig *)appearanceConfig;
  35. - (void)setImageList:(NSArray *)images;
  36. - (void)updateImage:(UIImage *)image atIndex:(NSUInteger)index;
  37. - (void)setLeftPanHidden:(BOOL)isHidden;
  38. - (void)setCenterPanHidden:(BOOL)isHidden;
  39. - (void)setRightPanHidden:(BOOL)isHidden;
  40. - (void)setLeftPanFrame:(CGFloat)time;
  41. - (void)setCenterPanFrame:(CGFloat)time;
  42. - (void)setRightPanFrame:(CGFloat)time;
  43. //左右滑块选择涂色
  44. - (void)setColorType:(UGCKitRangeColorType)UGCKitRangeColorType;
  45. - (void)startColoration:(UIColor *)color alpha:(CGFloat)alpha;
  46. - (void)stopColoration;
  47. //删除一段涂色
  48. - (UGCKitVideoColorInfo *)removeLastColoration:(UGCKitRangeColorType)UGCKitRangeColorType;
  49. - (void)removeColoration:(UGCKitRangeColorType)UGCKitRangeColorType index:(NSInteger)index;
  50. @end
  51. @protocol VideoRangeSliderDelegate <NSObject>
  52. - (void)onVideoRangeTap:(CGFloat)tapTime;
  53. - (void)onVideoRangeLeftChanged:(UGCKitVideoRangeSlider *)sender;
  54. - (void)onVideoRangeLeftChangeEnded:(UGCKitVideoRangeSlider *)sender;
  55. - (void)onVideoRangeCenterChanged:(UGCKitVideoRangeSlider *)sender;
  56. - (void)onVideoRangeCenterChangeEnded:(UGCKitVideoRangeSlider *)sender;
  57. - (void)onVideoRangeRightChanged:(UGCKitVideoRangeSlider *)sender;
  58. - (void)onVideoRangeRightChangeEnded:(UGCKitVideoRangeSlider *)sender;
  59. - (void)onVideoRangeLeftAndRightChanged:(UGCKitVideoRangeSlider *)sender;
  60. - (void)onVideoRange:(UGCKitVideoRangeSlider *)sender seekToPos:(CGFloat)pos;
  61. @end