OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #include "xfa/fwl/core/cfx_barcode.h" | 7 #include "xfa/fwl/core/cfx_barcode.h" |
8 | 8 |
9 #include "xfa/fxbarcode/cbc_codabar.h" | 9 #include "xfa/fxbarcode/cbc_codabar.h" |
10 #include "xfa/fxbarcode/cbc_code128.h" | 10 #include "xfa/fxbarcode/cbc_code128.h" |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
53 } // namespace | 53 } // namespace |
54 | 54 |
55 CFX_Barcode::CFX_Barcode() {} | 55 CFX_Barcode::CFX_Barcode() {} |
56 | 56 |
57 CFX_Barcode::~CFX_Barcode() {} | 57 CFX_Barcode::~CFX_Barcode() {} |
58 | 58 |
59 bool CFX_Barcode::Create(BC_TYPE type) { | 59 bool CFX_Barcode::Create(BC_TYPE type) { |
60 m_pBCEngine.reset(CreateBarCodeEngineObject(type)); | 60 m_pBCEngine.reset(CreateBarCodeEngineObject(type)); |
61 return !!m_pBCEngine; | 61 return !!m_pBCEngine; |
62 } | 62 } |
| 63 |
63 BC_TYPE CFX_Barcode::GetType() { | 64 BC_TYPE CFX_Barcode::GetType() { |
64 return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN; | 65 return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN; |
65 } | 66 } |
| 67 |
66 bool CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) { | 68 bool CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) { |
67 return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : false; | 69 return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : false; |
68 } | 70 } |
| 71 |
69 bool CFX_Barcode::SetModuleHeight(int32_t moduleHeight) { | 72 bool CFX_Barcode::SetModuleHeight(int32_t moduleHeight) { |
70 return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : false; | 73 return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : false; |
71 } | 74 } |
| 75 |
72 bool CFX_Barcode::SetModuleWidth(int32_t moduleWidth) { | 76 bool CFX_Barcode::SetModuleWidth(int32_t moduleWidth) { |
73 return m_pBCEngine ? m_pBCEngine->SetModuleWidth(moduleWidth) : false; | 77 return m_pBCEngine ? m_pBCEngine->SetModuleWidth(moduleWidth) : false; |
74 } | 78 } |
| 79 |
75 bool CFX_Barcode::SetHeight(int32_t height) { | 80 bool CFX_Barcode::SetHeight(int32_t height) { |
76 return m_pBCEngine ? m_pBCEngine->SetHeight(height) : false; | 81 return m_pBCEngine ? m_pBCEngine->SetHeight(height) : false; |
77 } | 82 } |
| 83 |
78 bool CFX_Barcode::SetWidth(int32_t width) { | 84 bool CFX_Barcode::SetWidth(int32_t width) { |
79 return m_pBCEngine ? m_pBCEngine->SetWidth(width) : false; | 85 return m_pBCEngine ? m_pBCEngine->SetWidth(width) : false; |
80 } | 86 } |
81 | 87 |
82 bool CFX_Barcode::SetPrintChecksum(bool checksum) { | 88 bool CFX_Barcode::SetPrintChecksum(bool checksum) { |
83 switch (GetType()) { | 89 switch (GetType()) { |
84 case BC_CODE39: | 90 case BC_CODE39: |
85 case BC_CODABAR: | 91 case BC_CODABAR: |
86 case BC_CODE128: | 92 case BC_CODE128: |
87 case BC_CODE128_B: | 93 case BC_CODE128_B: |
88 case BC_CODE128_C: | 94 case BC_CODE128_C: |
89 case BC_EAN8: | 95 case BC_EAN8: |
90 case BC_EAN13: | 96 case BC_EAN13: |
91 case BC_UPCA: | 97 case BC_UPCA: |
92 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) | 98 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) |
93 ->SetPrintChecksum(checksum), | 99 ->SetPrintChecksum(checksum), |
94 true) | 100 true) |
95 : false; | 101 : false; |
96 default: | 102 default: |
97 return false; | 103 return false; |
98 } | 104 } |
99 } | 105 } |
| 106 |
100 bool CFX_Barcode::SetDataLength(int32_t length) { | 107 bool CFX_Barcode::SetDataLength(int32_t length) { |
101 switch (GetType()) { | 108 switch (GetType()) { |
102 case BC_CODE39: | 109 case BC_CODE39: |
103 case BC_CODABAR: | 110 case BC_CODABAR: |
104 case BC_CODE128: | 111 case BC_CODE128: |
105 case BC_CODE128_B: | 112 case BC_CODE128_B: |
106 case BC_CODE128_C: | 113 case BC_CODE128_C: |
107 case BC_EAN8: | 114 case BC_EAN8: |
108 case BC_EAN13: | 115 case BC_EAN13: |
109 case BC_UPCA: | 116 case BC_UPCA: |
110 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) | 117 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) |
111 ->SetDataLength(length), | 118 ->SetDataLength(length), |
112 true) | 119 true) |
113 : false; | 120 : false; |
114 default: | 121 default: |
115 return false; | 122 return false; |
116 } | 123 } |
117 } | 124 } |
| 125 |
118 bool CFX_Barcode::SetCalChecksum(bool state) { | 126 bool CFX_Barcode::SetCalChecksum(bool state) { |
119 switch (GetType()) { | 127 switch (GetType()) { |
120 case BC_CODE39: | 128 case BC_CODE39: |
121 case BC_CODABAR: | 129 case BC_CODABAR: |
122 case BC_CODE128: | 130 case BC_CODE128: |
123 case BC_CODE128_B: | 131 case BC_CODE128_B: |
124 case BC_CODE128_C: | 132 case BC_CODE128_C: |
125 case BC_EAN8: | 133 case BC_EAN8: |
126 case BC_EAN13: | 134 case BC_EAN13: |
127 case BC_UPCA: | 135 case BC_UPCA: |
128 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) | 136 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) |
129 ->SetCalChecksum(state), | 137 ->SetCalChecksum(state), |
130 true) | 138 true) |
131 : false; | 139 : false; |
132 default: | 140 default: |
133 return false; | 141 return false; |
134 } | 142 } |
135 } | 143 } |
| 144 |
136 bool CFX_Barcode::SetFont(CFX_Font* pFont) { | 145 bool CFX_Barcode::SetFont(CFX_Font* pFont) { |
137 switch (GetType()) { | 146 switch (GetType()) { |
138 case BC_CODE39: | 147 case BC_CODE39: |
139 case BC_CODABAR: | 148 case BC_CODABAR: |
140 case BC_CODE128: | 149 case BC_CODE128: |
141 case BC_CODE128_B: | 150 case BC_CODE128_B: |
142 case BC_CODE128_C: | 151 case BC_CODE128_C: |
143 case BC_EAN8: | 152 case BC_EAN8: |
144 case BC_EAN13: | 153 case BC_EAN13: |
145 case BC_UPCA: | 154 case BC_UPCA: |
146 return m_pBCEngine | 155 return m_pBCEngine |
147 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont) | 156 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont) |
148 : false; | 157 : false; |
149 default: | 158 default: |
150 return false; | 159 return false; |
151 } | 160 } |
152 } | 161 } |
| 162 |
153 bool CFX_Barcode::SetFontSize(FX_FLOAT size) { | 163 bool CFX_Barcode::SetFontSize(FX_FLOAT size) { |
154 switch (GetType()) { | 164 switch (GetType()) { |
155 case BC_CODE39: | 165 case BC_CODE39: |
156 case BC_CODABAR: | 166 case BC_CODABAR: |
157 case BC_CODE128: | 167 case BC_CODE128: |
158 case BC_CODE128_B: | 168 case BC_CODE128_B: |
159 case BC_CODE128_C: | 169 case BC_CODE128_C: |
160 case BC_EAN8: | 170 case BC_EAN8: |
161 case BC_EAN13: | 171 case BC_EAN13: |
162 case BC_UPCA: | 172 case BC_UPCA: |
(...skipping 17 matching lines...) Expand all Loading... |
180 case BC_EAN13: | 190 case BC_EAN13: |
181 case BC_UPCA: | 191 case BC_UPCA: |
182 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) | 192 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get()) |
183 ->SetFontColor(color), | 193 ->SetFontColor(color), |
184 true) | 194 true) |
185 : false; | 195 : false; |
186 default: | 196 default: |
187 return false; | 197 return false; |
188 } | 198 } |
189 } | 199 } |
| 200 |
190 bool CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) { | 201 bool CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) { |
191 typedef bool (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC); | 202 typedef bool (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC); |
192 memptrtype memptr = nullptr; | 203 memptrtype memptr = nullptr; |
193 switch (GetType()) { | 204 switch (GetType()) { |
194 case BC_CODE39: | 205 case BC_CODE39: |
195 memptr = (memptrtype)&CBC_Code39::SetTextLocation; | 206 memptr = (memptrtype)&CBC_Code39::SetTextLocation; |
196 break; | 207 break; |
197 case BC_CODABAR: | 208 case BC_CODABAR: |
198 memptr = (memptrtype)&CBC_Codabar::SetTextLocation; | 209 memptr = (memptrtype)&CBC_Codabar::SetTextLocation; |
199 break; | 210 break; |
200 case BC_CODE128: | 211 case BC_CODE128: |
201 case BC_CODE128_B: | 212 case BC_CODE128_B: |
202 case BC_CODE128_C: | 213 case BC_CODE128_C: |
203 memptr = (memptrtype)&CBC_Code128::SetTextLocation; | 214 memptr = (memptrtype)&CBC_Code128::SetTextLocation; |
204 break; | 215 break; |
205 default: | 216 default: |
206 break; | 217 break; |
207 } | 218 } |
208 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(location) : false; | 219 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(location) : false; |
209 } | 220 } |
| 221 |
210 bool CFX_Barcode::SetWideNarrowRatio(int32_t ratio) { | 222 bool CFX_Barcode::SetWideNarrowRatio(int32_t ratio) { |
211 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); | 223 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); |
212 memptrtype memptr = nullptr; | 224 memptrtype memptr = nullptr; |
213 switch (GetType()) { | 225 switch (GetType()) { |
214 case BC_CODE39: | 226 case BC_CODE39: |
215 memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio; | 227 memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio; |
216 break; | 228 break; |
217 case BC_CODABAR: | 229 case BC_CODABAR: |
218 memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio; | 230 memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio; |
219 break; | 231 break; |
220 default: | 232 default: |
221 break; | 233 break; |
222 } | 234 } |
223 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(ratio) : false; | 235 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(ratio) : false; |
224 } | 236 } |
| 237 |
225 bool CFX_Barcode::SetStartChar(FX_CHAR start) { | 238 bool CFX_Barcode::SetStartChar(FX_CHAR start) { |
226 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR); | 239 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR); |
227 memptrtype memptr = nullptr; | 240 memptrtype memptr = nullptr; |
228 switch (GetType()) { | 241 switch (GetType()) { |
229 case BC_CODABAR: | 242 case BC_CODABAR: |
230 memptr = (memptrtype)&CBC_Codabar::SetStartChar; | 243 memptr = (memptrtype)&CBC_Codabar::SetStartChar; |
231 break; | 244 break; |
232 default: | 245 default: |
233 break; | 246 break; |
234 } | 247 } |
235 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(start) : false; | 248 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(start) : false; |
236 } | 249 } |
| 250 |
237 bool CFX_Barcode::SetEndChar(FX_CHAR end) { | 251 bool CFX_Barcode::SetEndChar(FX_CHAR end) { |
238 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR); | 252 typedef bool (CBC_CodeBase::*memptrtype)(FX_CHAR); |
239 memptrtype memptr = nullptr; | 253 memptrtype memptr = nullptr; |
240 switch (GetType()) { | 254 switch (GetType()) { |
241 case BC_CODABAR: | 255 case BC_CODABAR: |
242 memptr = (memptrtype)&CBC_Codabar::SetEndChar; | 256 memptr = (memptrtype)&CBC_Codabar::SetEndChar; |
243 break; | 257 break; |
244 default: | 258 default: |
245 break; | 259 break; |
246 } | 260 } |
247 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(end) : false; | 261 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(end) : false; |
248 } | 262 } |
| 263 |
249 bool CFX_Barcode::SetVersion(int32_t version) { | 264 bool CFX_Barcode::SetVersion(int32_t version) { |
250 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); | 265 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); |
251 memptrtype memptr = nullptr; | 266 memptrtype memptr = nullptr; |
252 switch (GetType()) { | 267 switch (GetType()) { |
253 case BC_QR_CODE: | 268 case BC_QR_CODE: |
254 memptr = (memptrtype)&CBC_QRCode::SetVersion; | 269 memptr = (memptrtype)&CBC_QRCode::SetVersion; |
255 break; | 270 break; |
256 default: | 271 default: |
257 break; | 272 break; |
258 } | 273 } |
259 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(version) : false; | 274 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(version) : false; |
260 } | 275 } |
| 276 |
261 bool CFX_Barcode::SetErrorCorrectionLevel(int32_t level) { | 277 bool CFX_Barcode::SetErrorCorrectionLevel(int32_t level) { |
262 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); | 278 typedef bool (CBC_CodeBase::*memptrtype)(int32_t); |
263 memptrtype memptr = nullptr; | 279 memptrtype memptr = nullptr; |
264 switch (GetType()) { | 280 switch (GetType()) { |
265 case BC_QR_CODE: | 281 case BC_QR_CODE: |
266 memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel; | 282 memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel; |
267 break; | 283 break; |
268 case BC_PDF417: | 284 case BC_PDF417: |
269 memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel; | 285 memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel; |
270 break; | 286 break; |
(...skipping 20 matching lines...) Expand all Loading... |
291 bool isDevice, | 307 bool isDevice, |
292 int32_t& e) { | 308 int32_t& e) { |
293 return m_pBCEngine && m_pBCEngine->Encode(contents, isDevice, e); | 309 return m_pBCEngine && m_pBCEngine->Encode(contents, isDevice, e); |
294 } | 310 } |
295 | 311 |
296 bool CFX_Barcode::RenderDevice(CFX_RenderDevice* device, | 312 bool CFX_Barcode::RenderDevice(CFX_RenderDevice* device, |
297 const CFX_Matrix* matrix, | 313 const CFX_Matrix* matrix, |
298 int32_t& e) { | 314 int32_t& e) { |
299 return m_pBCEngine && m_pBCEngine->RenderDevice(device, matrix, e); | 315 return m_pBCEngine && m_pBCEngine->RenderDevice(device, matrix, e); |
300 } | 316 } |
OLD | NEW |