#if 0 #elif defined(__arm64__) && __arm64__ // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" #if !defined(__has_include) # define __has_include(x) 0 #endif #if !defined(__has_attribute) # define __has_attribute(x) 0 #endif #if !defined(__has_feature) # define __has_feature(x) 0 #endif #if !defined(__has_warning) # define __has_warning(x) 0 #endif #if __has_include() # include #endif #pragma clang diagnostic ignored "-Wauto-import" #include #include #include #include #if !defined(SWIFT_TYPEDEFS) # define SWIFT_TYPEDEFS 1 # if __has_include() # include # elif !defined(__cplusplus) typedef uint_least16_t char16_t; typedef uint_least32_t char32_t; # endif typedef float swift_float2 __attribute__((__ext_vector_type__(2))); typedef float swift_float3 __attribute__((__ext_vector_type__(3))); typedef float swift_float4 __attribute__((__ext_vector_type__(4))); typedef double swift_double2 __attribute__((__ext_vector_type__(2))); typedef double swift_double3 __attribute__((__ext_vector_type__(3))); typedef double swift_double4 __attribute__((__ext_vector_type__(4))); typedef int swift_int2 __attribute__((__ext_vector_type__(2))); typedef int swift_int3 __attribute__((__ext_vector_type__(3))); typedef int swift_int4 __attribute__((__ext_vector_type__(4))); typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #endif #if !defined(SWIFT_PASTE) # define SWIFT_PASTE_HELPER(x, y) x##y # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) #endif #if !defined(SWIFT_METATYPE) # define SWIFT_METATYPE(X) Class #endif #if !defined(SWIFT_CLASS_PROPERTY) # if __has_feature(objc_class_property) # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ # else # define SWIFT_CLASS_PROPERTY(...) # endif #endif #if __has_attribute(objc_runtime_name) # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) #else # define SWIFT_RUNTIME_NAME(X) #endif #if __has_attribute(swift_name) # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) #else # define SWIFT_COMPILE_NAME(X) #endif #if __has_attribute(objc_method_family) # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) #else # define SWIFT_METHOD_FAMILY(X) #endif #if __has_attribute(noescape) # define SWIFT_NOESCAPE __attribute__((noescape)) #else # define SWIFT_NOESCAPE #endif #if __has_attribute(warn_unused_result) # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #else # define SWIFT_WARN_UNUSED_RESULT #endif #if __has_attribute(noreturn) # define SWIFT_NORETURN __attribute__((noreturn)) #else # define SWIFT_NORETURN #endif #if !defined(SWIFT_CLASS_EXTRA) # define SWIFT_CLASS_EXTRA #endif #if !defined(SWIFT_PROTOCOL_EXTRA) # define SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_ENUM_EXTRA) # define SWIFT_ENUM_EXTRA #endif #if !defined(SWIFT_CLASS) # if __has_attribute(objc_subclassing_restricted) # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # else # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # endif #endif #if !defined(SWIFT_RESILIENT_CLASS) # if __has_attribute(objc_class_stub) # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) # else # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) # endif #endif #if !defined(SWIFT_PROTOCOL) # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_EXTENSION) # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) #endif #if !defined(OBJC_DESIGNATED_INITIALIZER) # if __has_attribute(objc_designated_initializer) # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) # else # define OBJC_DESIGNATED_INITIALIZER # endif #endif #if !defined(SWIFT_ENUM_ATTR) # if defined(__has_attribute) && __has_attribute(enum_extensibility) # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) # else # define SWIFT_ENUM_ATTR(_extensibility) # endif #endif #if !defined(SWIFT_ENUM) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # else # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # endif #endif #if !defined(SWIFT_UNAVAILABLE) # define SWIFT_UNAVAILABLE __attribute__((unavailable)) #endif #if !defined(SWIFT_UNAVAILABLE_MSG) # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) #endif #if !defined(SWIFT_AVAILABILITY) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) #endif #if !defined(SWIFT_WEAK_IMPORT) # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) #endif #if !defined(SWIFT_DEPRECATED) # define SWIFT_DEPRECATED __attribute__((deprecated)) #endif #if !defined(SWIFT_DEPRECATED_MSG) # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) #endif #if __has_feature(attribute_diagnose_if_objc) # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) #else # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) #endif #if !defined(IBSegueAction) # define IBSegueAction #endif #if __has_feature(modules) #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif @import AVFoundation; @import CoreGraphics; @import Foundation; @import ObjectiveC; @import UIKit; #endif #import #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wduplicate-method-arg" #if __has_warning("-Wpragma-clang-attribute") # pragma clang diagnostic ignored "-Wpragma-clang-attribute" #endif #pragma clang diagnostic ignored "-Wunknown-pragmas" #pragma clang diagnostic ignored "-Wnullability" #if __has_attribute(external_source_symbol) # pragma push_macro("any") # undef any # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DHScanner",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) # pragma pop_macro("any") #endif typedef SWIFT_ENUM(NSInteger, DHScannerAnimationViewType, open) { DHScannerAnimationViewTypeLine = 0, DHScannerAnimationViewTypeNet = 1, }; typedef SWIFT_ENUM(NSInteger, DHScannerCodeFormat, open) { /// 兼容错误 * DHScannerCodeFormatUnknown = -1, /// Aztec 2D barcode format. DHScannerCodeFormatAztec = 0, /// CODABAR 1D format. DHScannerCodeFormatCodabar = 1, /// Code 39 1D format. DHScannerCodeFormatCode39 = 2, /// Code 93 1D format. DHScannerCodeFormatCode93 = 3, /// Code 128 1D format. DHScannerCodeFormatCode128 = 4, /// Data Matrix 2D barcode format. DHScannerCodeFormatDataMatrix = 5, /// EAN-8 1D format. DHScannerCodeFormatEan8 = 6, /// EAN-13 1D format. DHScannerCodeFormatEan13 = 7, /// ITF (Interleaved Two of Five) 1D format. DHScannerCodeFormatItf = 8, /// MaxiCode 2D barcode format. DHScannerCodeFormatMaxiCode = 9, /// PDF417 format. DHScannerCodeFormatPdf417 = 10, /// QR Code 2D barcode format. DHScannerCodeFormatQrCode = 11, /// RSS 14 DHScannerCodeFormatRss14 = 12, /// RSS EXPANDED DHScannerCodeFormatRssExpanded = 13, /// UPC-A 1D format. DHScannerCodeFormatUpca = 14, /// UPC-E 1D format. DHScannerCodeFormatUpce = 15, /// UPC/EAN extension format. Not a stand-alone format. DHScannerCodeFormatUpceanExtension = 16, }; @class UIImage; SWIFT_CLASS("_TtC9DHScanner14DHScannerUtils") @interface DHScannerUtils : NSObject /// 解析二维码图片 /// \param image 图片 /// /// /// returns: /// 返回字符串结果 + (NSString * _Nullable)decodeImageWithImage:(UIImage * _Nonnull)image SWIFT_WARN_UNUSED_RESULT; /// 解析二维码图片,返回结果和类型 /// \param image 图片 /// /// \param result 结果返回字符+类型 /// + (void)decodeImageWithImage:(UIImage * _Nonnull)image result:(void (^ _Nonnull)(NSString * _Nullable, enum DHScannerCodeFormat))result; /// 生成字符串对应的二维码图片。带有白色边框(ZXing方式) /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 二维码图片 + (UIImage * _Nullable)createQRCodeWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; /// 生成字符串对应的二维码图片。不带白色边框(使用系统方法) /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 二维码图片 + (UIImage * _Nullable)createQRCodeWithoutMarginWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; /// 生成字符串对应的条形码图片【Code128】 /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 生成的条形码图片 + (UIImage * _Nullable)createBarCodeWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @class DHScannerViewStyle; enum DHScannerWrapperType : NSInteger; @protocol DHScannerViewContainerDelegate; @class UIView; SWIFT_CLASS("_TtC9DHScanner22DHScannerViewContainer") @interface DHScannerViewContainer : NSObject /// 扫描区域设置,如果不设置,使用默认配置参数 @property (nonatomic, strong) DHScannerViewStyle * _Nonnull viewStyle; /// 扫描器类型 @property (nonatomic) enum DHScannerWrapperType scannerType; /// 使用扫描区域,默认为YES; NO,整个视图区域 @property (nonatomic) BOOL useInterestArea; /// 扫描结果delegate @property (nonatomic, weak) id _Nullable delegate; /// 闪光灯控制【计算变量】 @property (nonatomic) BOOL torchOn; /// 中间扫描的区域范围 @property (nonatomic, readonly) CGRect scanningArea; /// 获取扫描的最后一帧图像,只对ZXing扫描方式有效 @property (nonatomic, readonly, strong) UIImage * _Nullable lastScannedImage; - (nonnull instancetype)initWithContainerView:(UIView * _Nonnull)containerView OBJC_DESIGNATED_INITIALIZER; /// 设置,使得各属性的设置生效,必须调用 - (void)setup; - (void)startScanning; - (void)stopScanning; /// 暂停扫描:停止扫描动画、输出结果,但不停止相机采样 - (void)pauseScanning; /// 恢复扫描 - (void)resumeScanning; - (void)scanResultWithText:(NSString * _Nonnull)text image:(UIImage * _Nullable)image; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end SWIFT_PROTOCOL("_TtP9DHScanner30DHScannerViewContainerDelegate_") @protocol DHScannerViewContainerDelegate /// 扫描输出结果 /// \param text 文字 /// /// \param outputImage 图片 /// - (void)scanResultWithText:(NSString * _Nonnull)text outputImage:(UIImage * _Nullable)outputImage; @end @protocol DHScannerViewControllerDelegate; @class NSCoder; /// DHScannerViewController可以被继承 SWIFT_CLASS("_TtC9DHScanner23DHScannerViewController") @interface DHScannerViewController : UIViewController /// 扫描区域设置,如果不设置,使用默认配置参数 @property (nonatomic, strong) DHScannerViewStyle * _Nonnull viewStyle; /// 扫描器类型 @property (nonatomic) enum DHScannerWrapperType scannerType; /// 使用扫描区域,默认为YES; NO,全屏扫描 @property (nonatomic) BOOL useInterestArea; /// 是否使用只识别二维码,过滤条码 @property (nonatomic) BOOL pureQRCode; /// 扫描结果delegate @property (nonatomic, weak) id _Nullable delegate; /// 闪光灯控制【计算变量】 @property (nonatomic) BOOL torchOn; /// 中间扫描的区域范围 @property (nonatomic, readonly) CGRect scanningArea; /// 获取扫描的最后一帧图像,只对ZXing扫描方式有效 @property (nonatomic, readonly, strong) UIImage * _Nullable lastScannedImage; - (void)viewDidLoad; - (void)viewWillAppear:(BOOL)animated; - (void)viewWillDisappear:(BOOL)animated; - (void)startScanning; - (void)stopScanning; /// 暂停扫描:停止扫描动画、输出结果,但不停止相机采样 - (void)pauseScanning; /// 恢复扫描 - (void)resumeScanning; - (void)scanResultWithText:(NSString * _Nonnull)text image:(UIImage * _Nullable)image; - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end SWIFT_PROTOCOL("_TtP9DHScanner31DHScannerViewControllerDelegate_") @protocol DHScannerViewControllerDelegate /// 扫描输出结果 /// \param text 文字 /// /// \param outputImage 图片 /// - (void)scanResultWithText:(NSString * _Nonnull)text outputImage:(UIImage * _Nullable)outputImage; @end @class UIColor; SWIFT_CLASS("_TtC9DHScanner18DHScannerViewStyle") @interface DHScannerViewStyle : NSObject /// 设置是否显示扫描区域的矩形边框 @property (nonatomic) BOOL showRectangleBorder; /// 矩形框距离上部距离,默认120 @property (nonatomic) CGFloat rectangleTop; /// 矩形框距离左边距,默认60 @property (nonatomic) CGFloat rectangleLeft; /// 矩形框的长宽比,默认1:1 @property (nonatomic) CGFloat rectangeRatio; /// 扫描类型,默认线条 @property (nonatomic) enum DHScannerAnimationViewType animationViewType; /// 扫描的图片,如果是网格类型的图片,需要注意animationViewType为.net类型 @property (nonatomic, strong) UIImage * _Nullable scanningImage; /// 4个角的线宽 @property (nonatomic) CGFloat cornerLineWith; /// 边角的宽度 @property (nonatomic) CGFloat cornerWidth; /// 边角的高度 @property (nonatomic) CGFloat cornerHeight; /// 4个角线颜色 @property (nonatomic, strong) UIColor * _Nonnull cornerLineColor; /// 扫描框以外的背景颜色 @property (nonatomic, strong) UIColor * _Nonnull backgroundColor; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end SWIFT_PROTOCOL("_TtP9DHScanner24DHScannerWrapperProtocol_") @protocol DHScannerWrapperProtocol /// 是否在扫描中, readonly @property (nonatomic, readonly) BOOL isScanning; /// 摄像头质量设置 @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; /// 只识别二维码 @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; /// 初始化扫描器 /// \param preview 预览视图 /// /// \param output 输出结果回调 /// - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output; /// 开始扫描 - (void)start; /// 停止扫描 - (void)stop; /// 暂停扫描:停止解析结果,但不停止相机采样 - (void)pause; /// 恢复扫描:内部自动恢复解析或重新启动扫描 - (void)resume; /// 设置扫描区域:不设置,默认全屏扫描 /// \param scanArea 区域frame /// - (void)setScanAreaWithScanArea:(CGRect)scanArea; /// 打开/关闭闪光灯 /// \param on YES打开,NO关闭 /// - (void)onTorchOn:(BOOL)on; @end @class AVCaptureMetadataOutput; @class AVMetadataObject; @class AVCaptureConnection; SWIFT_CLASS("_TtC9DHScanner22DHScannerWrapperSystem") @interface DHScannerWrapperSystem : NSObject @property (nonatomic, readonly) BOOL isScanning; @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output OBJC_DESIGNATED_INITIALIZER; - (void)setScanAreaWithScanArea:(CGRect)scanArea; - (void)start; - (void)stop; - (void)pause; - (void)resume; - (void)onTorchOn:(BOOL)on; - (void)captureOutput:(AVCaptureMetadataOutput * _Nonnull)output didOutputMetadataObjects:(NSArray * _Nonnull)metadataObjects fromConnection:(AVCaptureConnection * _Nonnull)connection; @end /// 扫描器类型 typedef SWIFT_ENUM(NSInteger, DHScannerWrapperType, open) { DHScannerWrapperTypeZxing = 0, DHScannerWrapperTypeSystem = 1, }; @class DHScannerZXingCapture; SWIFT_CLASS("_TtC9DHScanner21DHScannerWrapperZXing") @interface DHScannerWrapperZXing : NSObject @property (nonatomic, readonly) BOOL isScanning; @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output OBJC_DESIGNATED_INITIALIZER; - (void)setScanAreaWithScanArea:(CGRect)scanArea; - (void)start; - (void)stop; - (void)pause; - (void)resume; - (void)onTorchOn:(BOOL)on; - (void)captureResult:(DHScannerZXingCapture * _Null_unspecified)capture text:(NSString * _Null_unspecified)text image:(UIImage * _Null_unspecified)image; @end #if __has_attribute(external_source_symbol) # pragma clang attribute pop #endif #pragma clang diagnostic pop #elif defined(__ARM_ARCH_7A__) && __ARM_ARCH_7A__ // Generated by Apple Swift version 5.1.3 (swiftlang-1100.0.282.1 clang-1100.0.33.15) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" #if !defined(__has_include) # define __has_include(x) 0 #endif #if !defined(__has_attribute) # define __has_attribute(x) 0 #endif #if !defined(__has_feature) # define __has_feature(x) 0 #endif #if !defined(__has_warning) # define __has_warning(x) 0 #endif #if __has_include() # include #endif #pragma clang diagnostic ignored "-Wauto-import" #include #include #include #include #if !defined(SWIFT_TYPEDEFS) # define SWIFT_TYPEDEFS 1 # if __has_include() # include # elif !defined(__cplusplus) typedef uint_least16_t char16_t; typedef uint_least32_t char32_t; # endif typedef float swift_float2 __attribute__((__ext_vector_type__(2))); typedef float swift_float3 __attribute__((__ext_vector_type__(3))); typedef float swift_float4 __attribute__((__ext_vector_type__(4))); typedef double swift_double2 __attribute__((__ext_vector_type__(2))); typedef double swift_double3 __attribute__((__ext_vector_type__(3))); typedef double swift_double4 __attribute__((__ext_vector_type__(4))); typedef int swift_int2 __attribute__((__ext_vector_type__(2))); typedef int swift_int3 __attribute__((__ext_vector_type__(3))); typedef int swift_int4 __attribute__((__ext_vector_type__(4))); typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #endif #if !defined(SWIFT_PASTE) # define SWIFT_PASTE_HELPER(x, y) x##y # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) #endif #if !defined(SWIFT_METATYPE) # define SWIFT_METATYPE(X) Class #endif #if !defined(SWIFT_CLASS_PROPERTY) # if __has_feature(objc_class_property) # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ # else # define SWIFT_CLASS_PROPERTY(...) # endif #endif #if __has_attribute(objc_runtime_name) # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) #else # define SWIFT_RUNTIME_NAME(X) #endif #if __has_attribute(swift_name) # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) #else # define SWIFT_COMPILE_NAME(X) #endif #if __has_attribute(objc_method_family) # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) #else # define SWIFT_METHOD_FAMILY(X) #endif #if __has_attribute(noescape) # define SWIFT_NOESCAPE __attribute__((noescape)) #else # define SWIFT_NOESCAPE #endif #if __has_attribute(warn_unused_result) # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) #else # define SWIFT_WARN_UNUSED_RESULT #endif #if __has_attribute(noreturn) # define SWIFT_NORETURN __attribute__((noreturn)) #else # define SWIFT_NORETURN #endif #if !defined(SWIFT_CLASS_EXTRA) # define SWIFT_CLASS_EXTRA #endif #if !defined(SWIFT_PROTOCOL_EXTRA) # define SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_ENUM_EXTRA) # define SWIFT_ENUM_EXTRA #endif #if !defined(SWIFT_CLASS) # if __has_attribute(objc_subclassing_restricted) # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # else # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # endif #endif #if !defined(SWIFT_RESILIENT_CLASS) # if __has_attribute(objc_class_stub) # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) # else # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) # endif #endif #if !defined(SWIFT_PROTOCOL) # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_EXTENSION) # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) #endif #if !defined(OBJC_DESIGNATED_INITIALIZER) # if __has_attribute(objc_designated_initializer) # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) # else # define OBJC_DESIGNATED_INITIALIZER # endif #endif #if !defined(SWIFT_ENUM_ATTR) # if defined(__has_attribute) && __has_attribute(enum_extensibility) # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) # else # define SWIFT_ENUM_ATTR(_extensibility) # endif #endif #if !defined(SWIFT_ENUM) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # else # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # endif #endif #if !defined(SWIFT_UNAVAILABLE) # define SWIFT_UNAVAILABLE __attribute__((unavailable)) #endif #if !defined(SWIFT_UNAVAILABLE_MSG) # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) #endif #if !defined(SWIFT_AVAILABILITY) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) #endif #if !defined(SWIFT_WEAK_IMPORT) # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) #endif #if !defined(SWIFT_DEPRECATED) # define SWIFT_DEPRECATED __attribute__((deprecated)) #endif #if !defined(SWIFT_DEPRECATED_MSG) # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) #endif #if __has_feature(attribute_diagnose_if_objc) # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) #else # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) #endif #if !defined(IBSegueAction) # define IBSegueAction #endif #if __has_feature(modules) #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif @import AVFoundation; @import CoreGraphics; @import Foundation; @import ObjectiveC; @import UIKit; #endif #import #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wduplicate-method-arg" #if __has_warning("-Wpragma-clang-attribute") # pragma clang diagnostic ignored "-Wpragma-clang-attribute" #endif #pragma clang diagnostic ignored "-Wunknown-pragmas" #pragma clang diagnostic ignored "-Wnullability" #if __has_attribute(external_source_symbol) # pragma push_macro("any") # undef any # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="DHScanner",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) # pragma pop_macro("any") #endif typedef SWIFT_ENUM(NSInteger, DHScannerAnimationViewType, open) { DHScannerAnimationViewTypeLine = 0, DHScannerAnimationViewTypeNet = 1, }; typedef SWIFT_ENUM(NSInteger, DHScannerCodeFormat, open) { /// 兼容错误 * DHScannerCodeFormatUnknown = -1, /// Aztec 2D barcode format. DHScannerCodeFormatAztec = 0, /// CODABAR 1D format. DHScannerCodeFormatCodabar = 1, /// Code 39 1D format. DHScannerCodeFormatCode39 = 2, /// Code 93 1D format. DHScannerCodeFormatCode93 = 3, /// Code 128 1D format. DHScannerCodeFormatCode128 = 4, /// Data Matrix 2D barcode format. DHScannerCodeFormatDataMatrix = 5, /// EAN-8 1D format. DHScannerCodeFormatEan8 = 6, /// EAN-13 1D format. DHScannerCodeFormatEan13 = 7, /// ITF (Interleaved Two of Five) 1D format. DHScannerCodeFormatItf = 8, /// MaxiCode 2D barcode format. DHScannerCodeFormatMaxiCode = 9, /// PDF417 format. DHScannerCodeFormatPdf417 = 10, /// QR Code 2D barcode format. DHScannerCodeFormatQrCode = 11, /// RSS 14 DHScannerCodeFormatRss14 = 12, /// RSS EXPANDED DHScannerCodeFormatRssExpanded = 13, /// UPC-A 1D format. DHScannerCodeFormatUpca = 14, /// UPC-E 1D format. DHScannerCodeFormatUpce = 15, /// UPC/EAN extension format. Not a stand-alone format. DHScannerCodeFormatUpceanExtension = 16, }; @class UIImage; SWIFT_CLASS("_TtC9DHScanner14DHScannerUtils") @interface DHScannerUtils : NSObject /// 解析二维码图片 /// \param image 图片 /// /// /// returns: /// 返回字符串结果 + (NSString * _Nullable)decodeImageWithImage:(UIImage * _Nonnull)image SWIFT_WARN_UNUSED_RESULT; /// 解析二维码图片,返回结果和类型 /// \param image 图片 /// /// \param result 结果返回字符+类型 /// + (void)decodeImageWithImage:(UIImage * _Nonnull)image result:(void (^ _Nonnull)(NSString * _Nullable, enum DHScannerCodeFormat))result; /// 生成字符串对应的二维码图片。带有白色边框(ZXing方式) /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 二维码图片 + (UIImage * _Nullable)createQRCodeWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; /// 生成字符串对应的二维码图片。不带白色边框(使用系统方法) /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 二维码图片 + (UIImage * _Nullable)createQRCodeWithoutMarginWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; /// 生成字符串对应的条形码图片【Code128】 /// \param string 字符串 /// /// \param size 图片尺寸 /// /// /// returns: /// 生成的条形码图片 + (UIImage * _Nullable)createBarCodeWithString:(NSString * _Nonnull)string size:(CGSize)size SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @class DHScannerViewStyle; enum DHScannerWrapperType : NSInteger; @protocol DHScannerViewContainerDelegate; @class UIView; SWIFT_CLASS("_TtC9DHScanner22DHScannerViewContainer") @interface DHScannerViewContainer : NSObject /// 扫描区域设置,如果不设置,使用默认配置参数 @property (nonatomic, strong) DHScannerViewStyle * _Nonnull viewStyle; /// 扫描器类型 @property (nonatomic) enum DHScannerWrapperType scannerType; /// 使用扫描区域,默认为YES; NO,整个视图区域 @property (nonatomic) BOOL useInterestArea; /// 扫描结果delegate @property (nonatomic, weak) id _Nullable delegate; /// 闪光灯控制【计算变量】 @property (nonatomic) BOOL torchOn; /// 中间扫描的区域范围 @property (nonatomic, readonly) CGRect scanningArea; /// 获取扫描的最后一帧图像,只对ZXing扫描方式有效 @property (nonatomic, readonly, strong) UIImage * _Nullable lastScannedImage; - (nonnull instancetype)initWithContainerView:(UIView * _Nonnull)containerView OBJC_DESIGNATED_INITIALIZER; /// 设置,使得各属性的设置生效,必须调用 - (void)setup; - (void)startScanning; - (void)stopScanning; /// 暂停扫描:停止扫描动画、输出结果,但不停止相机采样 - (void)pauseScanning; /// 恢复扫描 - (void)resumeScanning; - (void)scanResultWithText:(NSString * _Nonnull)text image:(UIImage * _Nullable)image; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end SWIFT_PROTOCOL("_TtP9DHScanner30DHScannerViewContainerDelegate_") @protocol DHScannerViewContainerDelegate /// 扫描输出结果 /// \param text 文字 /// /// \param outputImage 图片 /// - (void)scanResultWithText:(NSString * _Nonnull)text outputImage:(UIImage * _Nullable)outputImage; @end @protocol DHScannerViewControllerDelegate; @class NSCoder; /// DHScannerViewController可以被继承 SWIFT_CLASS("_TtC9DHScanner23DHScannerViewController") @interface DHScannerViewController : UIViewController /// 扫描区域设置,如果不设置,使用默认配置参数 @property (nonatomic, strong) DHScannerViewStyle * _Nonnull viewStyle; /// 扫描器类型 @property (nonatomic) enum DHScannerWrapperType scannerType; /// 使用扫描区域,默认为YES; NO,全屏扫描 @property (nonatomic) BOOL useInterestArea; /// 是否使用只识别二维码,过滤条码 @property (nonatomic) BOOL pureQRCode; /// 扫描结果delegate @property (nonatomic, weak) id _Nullable delegate; /// 闪光灯控制【计算变量】 @property (nonatomic) BOOL torchOn; /// 中间扫描的区域范围 @property (nonatomic, readonly) CGRect scanningArea; /// 获取扫描的最后一帧图像,只对ZXing扫描方式有效 @property (nonatomic, readonly, strong) UIImage * _Nullable lastScannedImage; - (void)viewDidLoad; - (void)viewWillAppear:(BOOL)animated; - (void)viewWillDisappear:(BOOL)animated; - (void)startScanning; - (void)stopScanning; /// 暂停扫描:停止扫描动画、输出结果,但不停止相机采样 - (void)pauseScanning; /// 恢复扫描 - (void)resumeScanning; - (void)scanResultWithText:(NSString * _Nonnull)text image:(UIImage * _Nullable)image; - (nonnull instancetype)initWithNibName:(NSString * _Nullable)nibNameOrNil bundle:(NSBundle * _Nullable)nibBundleOrNil OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end SWIFT_PROTOCOL("_TtP9DHScanner31DHScannerViewControllerDelegate_") @protocol DHScannerViewControllerDelegate /// 扫描输出结果 /// \param text 文字 /// /// \param outputImage 图片 /// - (void)scanResultWithText:(NSString * _Nonnull)text outputImage:(UIImage * _Nullable)outputImage; @end @class UIColor; SWIFT_CLASS("_TtC9DHScanner18DHScannerViewStyle") @interface DHScannerViewStyle : NSObject /// 设置是否显示扫描区域的矩形边框 @property (nonatomic) BOOL showRectangleBorder; /// 矩形框距离上部距离,默认120 @property (nonatomic) CGFloat rectangleTop; /// 矩形框距离左边距,默认60 @property (nonatomic) CGFloat rectangleLeft; /// 矩形框的长宽比,默认1:1 @property (nonatomic) CGFloat rectangeRatio; /// 扫描类型,默认线条 @property (nonatomic) enum DHScannerAnimationViewType animationViewType; /// 扫描的图片,如果是网格类型的图片,需要注意animationViewType为.net类型 @property (nonatomic, strong) UIImage * _Nullable scanningImage; /// 4个角的线宽 @property (nonatomic) CGFloat cornerLineWith; /// 边角的宽度 @property (nonatomic) CGFloat cornerWidth; /// 边角的高度 @property (nonatomic) CGFloat cornerHeight; /// 4个角线颜色 @property (nonatomic, strong) UIColor * _Nonnull cornerLineColor; /// 扫描框以外的背景颜色 @property (nonatomic, strong) UIColor * _Nonnull backgroundColor; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end SWIFT_PROTOCOL("_TtP9DHScanner24DHScannerWrapperProtocol_") @protocol DHScannerWrapperProtocol /// 是否在扫描中, readonly @property (nonatomic, readonly) BOOL isScanning; /// 摄像头质量设置 @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; /// 只识别二维码 @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; /// 初始化扫描器 /// \param preview 预览视图 /// /// \param output 输出结果回调 /// - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output; /// 开始扫描 - (void)start; /// 停止扫描 - (void)stop; /// 暂停扫描:停止解析结果,但不停止相机采样 - (void)pause; /// 恢复扫描:内部自动恢复解析或重新启动扫描 - (void)resume; /// 设置扫描区域:不设置,默认全屏扫描 /// \param scanArea 区域frame /// - (void)setScanAreaWithScanArea:(CGRect)scanArea; /// 打开/关闭闪光灯 /// \param on YES打开,NO关闭 /// - (void)onTorchOn:(BOOL)on; @end @class AVCaptureMetadataOutput; @class AVMetadataObject; @class AVCaptureConnection; SWIFT_CLASS("_TtC9DHScanner22DHScannerWrapperSystem") @interface DHScannerWrapperSystem : NSObject @property (nonatomic, readonly) BOOL isScanning; @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output OBJC_DESIGNATED_INITIALIZER; - (void)setScanAreaWithScanArea:(CGRect)scanArea; - (void)start; - (void)stop; - (void)pause; - (void)resume; - (void)onTorchOn:(BOOL)on; - (void)captureOutput:(AVCaptureMetadataOutput * _Nonnull)output didOutputMetadataObjects:(NSArray * _Nonnull)metadataObjects fromConnection:(AVCaptureConnection * _Nonnull)connection; @end /// 扫描器类型 typedef SWIFT_ENUM(NSInteger, DHScannerWrapperType, open) { DHScannerWrapperTypeZxing = 0, DHScannerWrapperTypeSystem = 1, }; @class DHScannerZXingCapture; SWIFT_CLASS("_TtC9DHScanner21DHScannerWrapperZXing") @interface DHScannerWrapperZXing : NSObject @property (nonatomic, readonly) BOOL isScanning; @property (nonatomic) AVCaptureSessionPreset _Nonnull sessionPreset; @property (nonatomic) BOOL pureQRCode; /// 闪光灯控制 @property (nonatomic) BOOL torchOn; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)initWithPreview:(UIView * _Nonnull)preview output:(void (^ _Nonnull)(NSString * _Nonnull, UIImage * _Nullable))output OBJC_DESIGNATED_INITIALIZER; - (void)setScanAreaWithScanArea:(CGRect)scanArea; - (void)start; - (void)stop; - (void)pause; - (void)resume; - (void)onTorchOn:(BOOL)on; - (void)captureResult:(DHScannerZXingCapture * _Null_unspecified)capture text:(NSString * _Null_unspecified)text image:(UIImage * _Null_unspecified)image; @end #if __has_attribute(external_source_symbol) # pragma clang attribute pop #endif #pragma clang diagnostic pop #endif