comparison mupdf-source/thirdparty/zxing-cpp/wrappers/ios/Sources/Wrapper/Reader/ZXIReaderOptions.mm @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1 // Copyright 2022 KURZ Digital Solutions GmbH
2 //
3 // SPDX-License-Identifier: Apache-2.0
4
5 #import "ZXIReaderOptions.h"
6 #import "ReaderOptions.h"
7
8 @interface ZXIReaderOptions()
9 @property(nonatomic) ZXing::ReaderOptions cppOpts;
10 @end
11
12 @implementation ZXIReaderOptions
13
14 -(instancetype)init {
15 self = [super init];
16 self.cppOpts = ZXing::ReaderOptions();
17 return self;
18 }
19
20 -(BOOL)tryHarder {
21 return self.cppOpts.tryHarder();
22 }
23
24 -(void)setTryHarder:(BOOL)tryHarder {
25 self.cppOpts = self.cppOpts.setTryHarder(tryHarder);
26 }
27
28 -(BOOL)tryRotate {
29 return self.cppOpts.tryRotate();
30 }
31
32 -(void)setTryRotate:(BOOL)tryRotate {
33 self.cppOpts = self.cppOpts.setTryRotate(tryRotate);
34 }
35
36 -(BOOL)tryInvert {
37 return self.cppOpts.tryInvert();
38 }
39
40 -(void)setTryInvert:(BOOL)tryInvert {
41 self.cppOpts = self.cppOpts.setTryInvert(tryInvert);
42 }
43
44 -(BOOL)tryDownscale {
45 return self.cppOpts.tryDownscale();
46 }
47
48 -(void)setTryDownscale:(BOOL)tryDownscale {
49 self.cppOpts = self.cppOpts.setTryDownscale(tryDownscale);
50 }
51
52 -(BOOL)isPure {
53 return self.cppOpts.isPure();
54 }
55
56 -(void)setIsPure:(BOOL)isPure {
57 self.cppOpts = self.cppOpts.setIsPure(isPure);
58 }
59
60 -(ZXIBinarizer)binarizer {
61 switch (self.cppOpts.binarizer()) {
62 default:
63 case ZXing::Binarizer::LocalAverage:
64 return ZXIBinarizer::ZXIBinarizerLocalAverage;
65 case ZXing::Binarizer::GlobalHistogram:
66 return ZXIBinarizer::ZXIBinarizerGlobalHistogram;
67 case ZXing::Binarizer::FixedThreshold:
68 return ZXIBinarizer::ZXIBinarizerFixedThreshold;
69 case ZXing::Binarizer::BoolCast:
70 return ZXIBinarizer::ZXIBinarizerBoolCast;
71 }
72 }
73
74 ZXing::Binarizer toNativeBinarizer(ZXIBinarizer binarizer) {
75 switch (binarizer) {
76 default:
77 case ZXIBinarizerLocalAverage:
78 return ZXing::Binarizer::LocalAverage;
79 case ZXIBinarizerGlobalHistogram:
80 return ZXing::Binarizer::GlobalHistogram;
81 case ZXIBinarizerFixedThreshold:
82 return ZXing::Binarizer::FixedThreshold;
83 case ZXIBinarizerBoolCast:
84 return ZXing::Binarizer::BoolCast;
85 }
86 }
87
88 -(void)setBinarizer:(ZXIBinarizer)binarizer {
89 self.cppOpts = self.cppOpts.setBinarizer(toNativeBinarizer(binarizer));
90 }
91
92 -(NSInteger)downscaleFactor {
93 return self.cppOpts.downscaleFactor();
94 }
95
96 -(void)setDownscaleFactor:(NSInteger)downscaleFactor {
97 self.cppOpts = self.cppOpts.setDownscaleFactor(downscaleFactor);
98 }
99
100 -(NSInteger)downscaleThreshold {
101 return self.cppOpts.downscaleThreshold();
102 }
103
104 -(void)setDownscaleThreshold:(NSInteger)downscaleThreshold {
105 self.cppOpts = self.cppOpts.setDownscaleThreshold(downscaleThreshold);
106 }
107
108 -(NSInteger)minLineCount {
109 return self.cppOpts.minLineCount();
110 }
111
112 -(void)setMinLineCount:(NSInteger)minLineCount {
113 self.cppOpts = self.cppOpts.setMinLineCount(minLineCount);
114 }
115
116 - (NSInteger)maxNumberOfSymbols {
117 return self.cppOpts.maxNumberOfSymbols();
118 }
119
120 -(void)setMaxNumberOfSymbols:(NSInteger)maxNumberOfSymbols {
121 self.cppOpts = self.cppOpts.setMaxNumberOfSymbols(maxNumberOfSymbols);
122 }
123
124 -(BOOL)tryCode39ExtendedMode {
125 return self.cppOpts.tryCode39ExtendedMode();
126 }
127
128 -(void)setTryCode39ExtendedMode:(BOOL)tryCode39ExtendedMode {
129 self.cppOpts = self.cppOpts.setTryCode39ExtendedMode(tryCode39ExtendedMode);
130 }
131
132 -(BOOL)validateCode39CheckSum {
133 return self.cppOpts.validateCode39CheckSum();
134 }
135
136 -(void)setValidateCode39CheckSum:(BOOL)validateCode39CheckSum {
137 self.cppOpts = self.cppOpts.setValidateCode39CheckSum(validateCode39CheckSum);
138 }
139
140 -(BOOL)validateITFCheckSum {
141 return self.cppOpts.validateITFCheckSum();
142 }
143
144 -(void)setValidateITFCheckSum:(BOOL)validateITFCheckSum {
145 self.cppOpts = self.cppOpts.setValidateITFCheckSum(validateITFCheckSum);
146 }
147
148 -(BOOL)returnCodabarStartEnd {
149 return self.cppOpts.returnCodabarStartEnd();
150 }
151
152 -(void)setReturnCodabarStartEnd:(BOOL)returnCodabarStartEnd {
153 self.cppOpts = self.cppOpts.setReturnCodabarStartEnd(returnCodabarStartEnd);
154 }
155
156 -(BOOL)returnErrors {
157 return self.cppOpts.returnErrors();
158 }
159
160 -(void)setReturnErrors:(BOOL)returnErrors {
161 self.cppOpts = self.cppOpts.setReturnErrors(returnErrors);
162 }
163
164 -(ZXIEanAddOnSymbol)eanAddOnSymbol {
165 switch (self.cppOpts.eanAddOnSymbol()) {
166 default:
167 case ZXing::EanAddOnSymbol::Ignore:
168 return ZXIEanAddOnSymbol::ZXIEanAddOnSymbolIgnore;
169 case ZXing::EanAddOnSymbol::Read:
170 return ZXIEanAddOnSymbol::ZXIEanAddOnSymbolRead;
171 case ZXing::EanAddOnSymbol::Require:
172 return ZXIEanAddOnSymbol::ZXIEanAddOnSymbolRequire;
173 }
174 }
175
176 ZXing::EanAddOnSymbol toNativeEanAddOnSymbol(ZXIEanAddOnSymbol eanAddOnSymbol) {
177 switch (eanAddOnSymbol) {
178 default:
179 case ZXIEanAddOnSymbolIgnore:
180 return ZXing::EanAddOnSymbol::Ignore;
181 case ZXIEanAddOnSymbolRead:
182 return ZXing::EanAddOnSymbol::Read;
183 case ZXIEanAddOnSymbolRequire:
184 return ZXing::EanAddOnSymbol::Require;
185 }
186 }
187
188 -(void)setEanAddOnSymbol:(ZXIEanAddOnSymbol)eanAddOnSymbol {
189 self.cppOpts = self.cppOpts.setEanAddOnSymbol(toNativeEanAddOnSymbol(eanAddOnSymbol));
190 }
191
192 -(ZXITextMode)textMode {
193 switch (self.cppOpts.textMode()) {
194 default:
195 case ZXing::TextMode::Plain:
196 return ZXITextMode::ZXITextModePlain;
197 case ZXing::TextMode::ECI:
198 return ZXITextMode::ZXITextModeECI;
199 case ZXing::TextMode::HRI:
200 return ZXITextMode::ZXITextModeHRI;
201 case ZXing::TextMode::Hex:
202 return ZXITextMode::ZXITextModeHex;
203 case ZXing::TextMode::Escaped:
204 return ZXITextMode::ZXITextModeEscaped;
205 }
206 }
207
208 ZXing::TextMode toNativeTextMode(ZXITextMode mode) {
209 switch (mode) {
210 default:
211 case ZXITextModePlain:
212 return ZXing::TextMode::Plain;
213 case ZXITextModeECI:
214 return ZXing::TextMode::ECI;
215 case ZXITextModeHRI:
216 return ZXing::TextMode::HRI;
217 case ZXITextModeHex:
218 return ZXing::TextMode::Hex;
219 case ZXITextModeEscaped:
220 return ZXing::TextMode::Escaped;
221 }
222 }
223
224 -(void)setTextMode:(ZXITextMode)textMode {
225 self.cppOpts = self.cppOpts.setTextMode(toNativeTextMode(textMode));
226 }
227
228 @end