forked from rFlex/SCRecorder
-
Notifications
You must be signed in to change notification settings - Fork 0
/
SCRecorderToolsView.h
105 lines (82 loc) · 2.53 KB
/
SCRecorderToolsView.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
//
// SCRecorderToolsView.h
// SCRecorder
//
// Created by Simon CORSIN on 16/02/15.
// Copyright (c) 2015 rFlex. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "SCRecorder.h"
//typedef enum : NSUInteger {
// SCRecorderToolsViewShowFocusModeNever,
// SCRecorderToolsViewShowFocusModeOnlyOnSubjectChanged,
// SCRecorderToolsViewShowFocusModeAlways
//} SCRecorderToolsViewShowFocusMode;
@class SCRecorder;
@class SCRecorderToolsView;
@protocol SCRecorderToolsViewDelegate <NSObject>
@optional
- (void)recorderToolsView:(SCRecorderToolsView *__nonnull)recorderToolsView didTapToFocusWithGestureRecognizer:(UIGestureRecognizer *__nonnull)gestureRecognizer;
@end
@interface SCRecorderToolsView : UIView
@property (nonatomic, weak) __nullable id<SCRecorderToolsViewDelegate> delegate;
/**
The instance of the SCRecorder to use.
*/
@property (strong, nonatomic) SCRecorder *__nullable recorder;
/**
The outside image used when focusing.
*/
@property (strong, nonatomic) UIImage *__nullable outsideFocusTargetImage;
/**
The inside image used when focusing.
*/
@property (strong, nonatomic) UIImage *__nullable insideFocusTargetImage;
/**
The size of the focus target.
*/
@property (assign, nonatomic) CGSize focusTargetSize;
/**
The minimum zoom allowed for the pinch to zoom.
Default is 1
*/
@property (assign, nonatomic) CGFloat minZoomFactor;
/**
The maximum zoom allowed for the pinch to zoom.
Default is 4
*/
@property (assign, nonatomic) CGFloat maxZoomFactor;
/**
Whether the tap to focus should be enabled.
*/
@property (assign, nonatomic) BOOL tapToFocusEnabled;
/**
Whether the double tap to reset the focus should be enabled.
*/
@property (assign, nonatomic) BOOL doubleTapToResetFocusEnabled;
/**
Whether the pinch to zoom should be enabled.
*/
@property (assign, nonatomic) BOOL pinchToZoomEnabled;
@property (assign, nonatomic) BOOL showsFocusAnimationAutomatically;
///**
// When the SCRecorderToolsView should show the focus animation
// when the focusing state changes. If set to Never, you will have to call
// "showFocusAnimation" and "hideFocusAnimation" yourself.
//
// Default is OnlyOnSubjectChange
// */
//@property (assign, nonatomic) SCRecorderToolsViewShowFocusMode showFocusMode;
/**
Manually show the focus animation.
This method is called automatically if showsFocusAnimationAutomatically
is set to YES.
*/
- (void)showFocusAnimation;
/**
Manually hide the focus animation.
This method is called automatically if showsFocusAnimationAutomatically
is set to YES.
*/
- (void)hideFocusAnimation;
@end