Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1009)

Side by Side Diff: xfa/fwl/core/cfx_barcode.cpp

Issue 2559173002: Move xfa/fwl/core to xfa/fwl. (Closed)
Patch Set: Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « xfa/fwl/core/cfx_barcode.h ('k') | xfa/fwl/core/fwl_error.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #include "xfa/fwl/core/cfx_barcode.h"
8
9 #include "xfa/fxbarcode/cbc_codabar.h"
10 #include "xfa/fxbarcode/cbc_code128.h"
11 #include "xfa/fxbarcode/cbc_code39.h"
12 #include "xfa/fxbarcode/cbc_codebase.h"
13 #include "xfa/fxbarcode/cbc_datamatrix.h"
14 #include "xfa/fxbarcode/cbc_ean13.h"
15 #include "xfa/fxbarcode/cbc_ean8.h"
16 #include "xfa/fxbarcode/cbc_pdf417i.h"
17 #include "xfa/fxbarcode/cbc_qrcode.h"
18 #include "xfa/fxbarcode/cbc_upca.h"
19 #include "xfa/fxbarcode/utils.h"
20
21 namespace {
22
23 CBC_CodeBase* CreateBarCodeEngineObject(BC_TYPE type) {
24 switch (type) {
25 case BC_CODE39:
26 return new CBC_Code39();
27 case BC_CODABAR:
28 return new CBC_Codabar();
29 case BC_CODE128:
30 return new CBC_Code128(BC_CODE128_B);
31 case BC_CODE128_B:
32 return new CBC_Code128(BC_CODE128_B);
33 case BC_CODE128_C:
34 return new CBC_Code128(BC_CODE128_C);
35 case BC_EAN8:
36 return new CBC_EAN8();
37 case BC_UPCA:
38 return new CBC_UPCA();
39 case BC_EAN13:
40 return new CBC_EAN13();
41 case BC_QR_CODE:
42 return new CBC_QRCode();
43 case BC_PDF417:
44 return new CBC_PDF417I();
45 case BC_DATAMATRIX:
46 return new CBC_DataMatrix();
47 case BC_UNKNOWN:
48 default:
49 return nullptr;
50 }
51 }
52
53 } // namespace
54
55 CFX_Barcode::CFX_Barcode() {}
56
57 CFX_Barcode::~CFX_Barcode() {}
58
59 bool CFX_Barcode::Create(BC_TYPE type) {
60 m_pBCEngine.reset(CreateBarCodeEngineObject(type));
61 return !!m_pBCEngine;
62 }
63
64 BC_TYPE CFX_Barcode::GetType() {
65 return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN;
66 }
67
68 bool CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) {
69 return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : false;
70 }
71
72 bool CFX_Barcode::SetModuleHeight(int32_t moduleHeight) {
73 return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : false;
74 }
75
76 bool CFX_Barcode::SetModuleWidth(int32_t moduleWidth) {
77 return m_pBCEngine ? m_pBCEngine->SetModuleWidth(moduleWidth) : false;
78 }
79
80 bool CFX_Barcode::SetHeight(int32_t height) {
81 return m_pBCEngine ? m_pBCEngine->SetHeight(height) : false;
82 }
83
84 bool CFX_Barcode::SetWidth(int32_t width) {
85 return m_pBCEngine ? m_pBCEngine->SetWidth(width) : false;
86 }
87
88 bool CFX_Barcode::SetPrintChecksum(bool checksum) {
89 switch (GetType()) {
90 case BC_CODE39:
91 case BC_CODABAR:
92 case BC_CODE128:
93 case BC_CODE128_B:
94 case BC_CODE128_C:
95 case BC_EAN8:
96 case BC_EAN13:
97 case BC_UPCA:
98 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
99 ->SetPrintChecksum(checksum),
100 true)
101 : false;
102 default:
103 return false;
104 }
105 }
106
107 bool CFX_Barcode::SetDataLength(int32_t length) {
108 switch (GetType()) {
109 case BC_CODE39:
110 case BC_CODABAR:
111 case BC_CODE128:
112 case BC_CODE128_B:
113 case BC_CODE128_C:
114 case BC_EAN8:
115 case BC_EAN13:
116 case BC_UPCA:
117 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
118 ->SetDataLength(length),
119 true)
120 : false;
121 default:
122 return false;
123 }
124 }
125
126 bool CFX_Barcode::SetCalChecksum(bool state) {
127 switch (GetType()) {
128 case BC_CODE39:
129 case BC_CODABAR:
130 case BC_CODE128:
131 case BC_CODE128_B:
132 case BC_CODE128_C:
133 case BC_EAN8:
134 case BC_EAN13:
135 case BC_UPCA:
136 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
137 ->SetCalChecksum(state),
138 true)
139 : false;
140 default:
141 return false;
142 }
143 }
144
145 bool CFX_Barcode::SetFont(CFX_Font* pFont) {
146 switch (GetType()) {
147 case BC_CODE39:
148 case BC_CODABAR:
149 case BC_CODE128:
150 case BC_CODE128_B:
151 case BC_CODE128_C:
152 case BC_EAN8:
153 case BC_EAN13:
154 case BC_UPCA:
155 return m_pBCEngine
156 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont)
157 : false;
158 default:
159 return false;
160 }
161 }
162
163 bool CFX_Barcode::SetFontSize(FX_FLOAT size) {
164 switch (GetType()) {
165 case BC_CODE39:
166 case BC_CODABAR:
167 case BC_CODE128:
168 case BC_CODE128_B:
169 case BC_CODE128_C:
170 case BC_EAN8:
171 case BC_EAN13:
172 case BC_UPCA:
173 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
174 ->SetFontSize(size),
175 true)
176 : false;
177 default:
178 return false;
179 }
180 }
181
182 bool CFX_Barcode::SetFontColor(FX_ARGB color) {
183 switch (GetType()) {
184 case BC_CODE39:
185 case BC_CODABAR:
186 case BC_CODE128:
187 case BC_CODE128_B:
188 case BC_CODE128_C:
189 case BC_EAN8:
190 case BC_EAN13:
191 case BC_UPCA:
192 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
193 ->SetFontColor(color),
194 true)
195 : false;
196 default:
197 return false;
198 }
199 }
200
201 bool CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) {
202 typedef bool (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC);
203 memptrtype memptr = nullptr;
204 switch (GetType()) {
205 case BC_CODE39:
206 memptr = (memptrtype)&CBC_Code39::SetTextLocation;
207 break;
208 case BC_CODABAR:
209 memptr = (memptrtype)&CBC_Codabar::SetTextLocation;
210 break;
211 case BC_CODE128:
212 case BC_CODE128_B:
213 case BC_CODE128_C:
214 memptr = (memptrtype)&CBC_Code128::SetTextLocation;
215 break;
216 default:
217 break;
218 }
219 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(location) : false;
220 }
221
222 bool CFX_Barcode::SetWideNarrowRatio(int32_t ratio) {
223 typedef bool (CBC_CodeBase::*memptrtype)(int32_t);
224 memptrtype memptr = nullptr;
225 switch (GetType()) {
226 case BC_CODE39:
227 memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio;
228 break;
229 case BC_CODABAR:
230 memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio;
231 break;
232 default:
233 break;
234 }
235 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(ratio) : false;
236 }
237
238 bool CFX_Barcode::SetStartChar(FX_CHAR start) {
239 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR);
240 memptrtype memptr = nullptr;
241 switch (GetType()) {
242 case BC_CODABAR:
243 memptr = (memptrtype)&CBC_Codabar::SetStartChar;
244 break;
245 default:
246 break;
247 }
248 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(start) : false;
249 }
250
251 bool CFX_Barcode::SetEndChar(FX_CHAR end) {
252 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR);
253 memptrtype memptr = nullptr;
254 switch (GetType()) {
255 case BC_CODABAR:
256 memptr = (memptrtype)&CBC_Codabar::SetEndChar;
257 break;
258 default:
259 break;
260 }
261 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(end) : false;
262 }
263
264 bool CFX_Barcode::SetVersion(int32_t version) {
265 typedef bool (CBC_CodeBase::*memptrtype)(int32_t);
266 memptrtype memptr = nullptr;
267 switch (GetType()) {
268 case BC_QR_CODE:
269 memptr = (memptrtype)&CBC_QRCode::SetVersion;
270 break;
271 default:
272 break;
273 }
274 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(version) : false;
275 }
276
277 bool CFX_Barcode::SetErrorCorrectionLevel(int32_t level) {
278 typedef bool (CBC_CodeBase::*memptrtype)(int32_t);
279 memptrtype memptr = nullptr;
280 switch (GetType()) {
281 case BC_QR_CODE:
282 memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel;
283 break;
284 case BC_PDF417:
285 memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel;
286 break;
287 default:
288 return false;
289 }
290 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(level) : false;
291 }
292 bool CFX_Barcode::SetTruncated(bool truncated) {
293 typedef void (CBC_CodeBase::*memptrtype)(bool);
294 memptrtype memptr = nullptr;
295 switch (GetType()) {
296 case BC_PDF417:
297 memptr = (memptrtype)&CBC_PDF417I::SetTruncated;
298 break;
299 default:
300 break;
301 }
302 return m_pBCEngine && memptr ? ((m_pBCEngine.get()->*memptr)(truncated), true)
303 : false;
304 }
305
306 bool CFX_Barcode::Encode(const CFX_WideStringC& contents,
307 bool isDevice,
308 int32_t& e) {
309 return m_pBCEngine && m_pBCEngine->Encode(contents, isDevice, e);
310 }
311
312 bool CFX_Barcode::RenderDevice(CFX_RenderDevice* device,
313 const CFX_Matrix* matrix,
314 int32_t& e) {
315 return m_pBCEngine && m_pBCEngine->RenderDevice(device, matrix, e);
316 }
OLDNEW
« no previous file with comments | « xfa/fwl/core/cfx_barcode.h ('k') | xfa/fwl/core/fwl_error.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698