react-native-camera-kit/ios/ReactNativeCameraKit/CKCamera.h

84 lines
1.5 KiB
Objective-C

#import <UIKit/UIKit.h>
@import AVFoundation;
#if __has_include(<React/RCTBridge.h>)
#import <React/RCTConvert.h>
#else
#import "RCTConvert.h"
#endif
typedef void (^CaptureBlock)(NSDictionary *imageObject);
typedef void (^CallbackBlock)(BOOL success);
typedef NS_ENUM(NSInteger, CKCameraType) {
CKCameraTypeBack,
CKCameraTypeFront,
};
@interface RCTConvert(CKCameraType)
+ (CKCameraType)CKCameraType:(id)json;
@end
typedef NS_ENUM(NSInteger, CKCameraFlashMode) {
CKCameraFlashModeAuto,
CKCameraFlashModeOn,
CKCameraFlashModeOff
};
@interface RCTConvert(CKCameraFlashMode)
+ (CKCameraFlashMode)CKCameraFlashMode:(id)json;
@end
typedef NS_ENUM(NSInteger, CKCameraTorchMode) {
CKCameraTorchModeOn,
CKCameraTorchModeOff
};
@interface RCTConvert(CKCameraTorchMode)
+ (CKCameraTorchMode)CKCameraTorchMode:(id)json;
@end
typedef NS_ENUM(NSInteger, CKCameraFocusMode) {
CKCameraFocusModeOn,
CKCameraFocusModeOff,
};
@interface RCTConvert(CKCameraFocusMode)
+ (CKCameraFocusMode)CKCameraFocusMode:(id)json;
@end
typedef NS_ENUM(NSInteger, CKCameraZoomMode) {
CKCameraZoomModeOn,
CKCameraZoomModeOff,
};
@interface RCTConvert(CKCameraZoomMode)
+ (CKCameraZoomMode)CKCameraZoomMode:(id)json;
@end
@interface CKCamera : UIView
@property (nonatomic, readonly) AVCaptureDeviceInput *videoDeviceInput;
// api
- (void)snapStillImage:(NSDictionary*)options success:(CaptureBlock)block onError:(void (^)(NSString*))onError;
- (void)setTorchMode:(AVCaptureTorchMode)torchMode;
+ (NSURL*)saveToTmpFolder:(NSData*)data;
@end