Files
2025-08-02 18:35:47 +08:00

113 lines
3.4 KiB
Objective-C

/*
* Copyright 2012 ZXing authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Enumeration for DataMatrix symbol shape hint. It can be used to force square or rectangular
* symbols.
*/
typedef enum {
ZXDataMatrixSymbolShapeHintForceNone,
ZXDataMatrixSymbolShapeHintForceSquare,
ZXDataMatrixSymbolShapeHintForceRectangle
} ZXDataMatrixSymbolShapeHint;
typedef enum {
ZXPDF417CompactionAuto,
ZXPDF417CompactionText,
ZXPDF417CompactionByte,
ZXPDF417CompactionNumeric
} ZXPDF417Compaction;
@class ZXDimension, ZXPDF417Dimensions, ZXQRCodeErrorCorrectionLevel;
/**
* These are a set of hints that you may pass to Writers to specify their behavior.
*/
@interface ZXEncodeHints : NSObject
+ (id)hints;
/**
* Specifies what character encoding to use where applicable.
*/
@property (nonatomic, assign) NSStringEncoding encoding;
/**
* Specifies the matrix shape for Data Matrix.
*/
@property (nonatomic, assign) ZXDataMatrixSymbolShapeHint dataMatrixShape;
/**
* Specifies a minimum barcode size. Only applicable to Data Matrix now.
*
* @deprecated use width/height params in
* ZXDataMatrixWriter encode:format:width:height:error:
*/
@property (nonatomic, strong) ZXDimension *minSize DEPRECATED_ATTRIBUTE;
/**
* Specifies a maximum barcode size. Only applicable to Data Matrix now.
*
* @deprecated without replacement
*/
@property (nonatomic, strong) ZXDimension *maxSize DEPRECATED_ATTRIBUTE;
/**
* Specifies what degree of error correction to use, for example in QR Codes.
* For Aztec it represents the minimal percentage of error correction words.
* Note: an Aztec symbol should have a minimum of 25% EC words.
*/
@property (nonatomic, strong) ZXQRCodeErrorCorrectionLevel *errorCorrectionLevel;
/**
* Specifies what percent of error correction to use.
* For Aztec it represents the minimal percentage of error correction words.
* Note: an Aztec symbol should have a minimum of 25% EC words.
*/
@property (nonatomic, strong) NSNumber *errorCorrectionPercent;
/**
* Specifies margin, in pixels, to use when generating the barcode. The meaning can vary
* by format; for example it controls margin before and after the barcode horizontally for
* most 1D formats.
*/
@property (nonatomic, strong) NSNumber *margin;
/**
* Specifies whether to use compact mode for PDF417.
*/
@property (nonatomic, assign) BOOL pdf417Compact;
/**
* Specifies what compaction mode to use for PDF417.
*/
@property (nonatomic, assign) ZXPDF417Compaction pdf417Compaction;
/**
* Specifies the minimum and maximum number of rows and columns for PDF417.
*/
@property (nonatomic, strong) ZXPDF417Dimensions *pdf417Dimensions;
/**
* Specifies the required number of layers for an Aztec code:
* a negative number (-1, -2, -3, -4) specifies a compact Aztec code
* 0 indicates to use the minimum number of layers (the default)
* a positive number (1, 2, .. 32) specifies a normaol (non-compact) Aztec code
*/
@property (nonatomic, strong) NSNumber *aztecLayers;
@end