VideoRangeSlider.h 2.6 KB

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