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

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

Issue 2207093005: Use smart pointers for class owned pointers (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: one more change Created 4 years, 4 months 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/basewidget/cfx_barcode.h ('k') | xfa/fwl/basewidget/fwl_caretimp.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/basewidget/cfx_barcode.h" 7 #include "xfa/fwl/basewidget/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 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 case BC_UNKNOWN: 47 case BC_UNKNOWN:
48 default: 48 default:
49 return nullptr; 49 return nullptr;
50 } 50 }
51 } 51 }
52 52
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 delete m_pBCEngine;
59 }
60 58
61 FX_BOOL CFX_Barcode::Create(BC_TYPE type) { 59 FX_BOOL CFX_Barcode::Create(BC_TYPE type) {
62 m_pBCEngine = CreateBarCodeEngineObject(type); 60 m_pBCEngine.reset(CreateBarCodeEngineObject(type));
63 return !!m_pBCEngine; 61 return !!m_pBCEngine;
64 } 62 }
65 BC_TYPE CFX_Barcode::GetType() { 63 BC_TYPE CFX_Barcode::GetType() {
66 return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN; 64 return m_pBCEngine ? m_pBCEngine->GetType() : BC_UNKNOWN;
67 } 65 }
68 FX_BOOL CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) { 66 FX_BOOL CFX_Barcode::SetCharEncoding(BC_CHAR_ENCODING encoding) {
69 return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : FALSE; 67 return m_pBCEngine ? m_pBCEngine->SetCharEncoding(encoding) : FALSE;
70 } 68 }
71 FX_BOOL CFX_Barcode::SetModuleHeight(int32_t moduleHeight) { 69 FX_BOOL CFX_Barcode::SetModuleHeight(int32_t moduleHeight) {
72 return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : FALSE; 70 return m_pBCEngine ? m_pBCEngine->SetModuleHeight(moduleHeight) : FALSE;
(...skipping 11 matching lines...) Expand all
84 switch (GetType()) { 82 switch (GetType()) {
85 case BC_CODE39: 83 case BC_CODE39:
86 case BC_CODABAR: 84 case BC_CODABAR:
87 case BC_CODE128: 85 case BC_CODE128:
88 case BC_CODE128_B: 86 case BC_CODE128_B:
89 case BC_CODE128_C: 87 case BC_CODE128_C:
90 case BC_EAN8: 88 case BC_EAN8:
91 case BC_EAN13: 89 case BC_EAN13:
92 case BC_UPCA: 90 case BC_UPCA:
93 return m_pBCEngine 91 return m_pBCEngine
94 ? static_cast<CBC_OneCode*>(m_pBCEngine) 92 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())
95 ->CheckContentValidity(contents) 93 ->CheckContentValidity(contents)
96 : TRUE; 94 : TRUE;
97 default: 95 default:
98 return TRUE; 96 return TRUE;
99 } 97 }
100 } 98 }
101 FX_BOOL CFX_Barcode::SetPrintChecksum(FX_BOOL checksum) { 99 FX_BOOL CFX_Barcode::SetPrintChecksum(FX_BOOL checksum) {
102 switch (GetType()) { 100 switch (GetType()) {
103 case BC_CODE39: 101 case BC_CODE39:
104 case BC_CODABAR: 102 case BC_CODABAR:
105 case BC_CODE128: 103 case BC_CODE128:
106 case BC_CODE128_B: 104 case BC_CODE128_B:
107 case BC_CODE128_C: 105 case BC_CODE128_C:
108 case BC_EAN8: 106 case BC_EAN8:
109 case BC_EAN13: 107 case BC_EAN13:
110 case BC_UPCA: 108 case BC_UPCA:
111 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine) 109 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
112 ->SetPrintChecksum(checksum), 110 ->SetPrintChecksum(checksum),
113 TRUE) 111 TRUE)
114 : FALSE; 112 : FALSE;
115 default: 113 default:
116 return FALSE; 114 return FALSE;
117 } 115 }
118 } 116 }
119 FX_BOOL CFX_Barcode::SetDataLength(int32_t length) { 117 FX_BOOL CFX_Barcode::SetDataLength(int32_t length) {
120 switch (GetType()) { 118 switch (GetType()) {
121 case BC_CODE39: 119 case BC_CODE39:
122 case BC_CODABAR: 120 case BC_CODABAR:
123 case BC_CODE128: 121 case BC_CODE128:
124 case BC_CODE128_B: 122 case BC_CODE128_B:
125 case BC_CODE128_C: 123 case BC_CODE128_C:
126 case BC_EAN8: 124 case BC_EAN8:
127 case BC_EAN13: 125 case BC_EAN13:
128 case BC_UPCA: 126 case BC_UPCA:
129 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine) 127 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
130 ->SetDataLength(length), 128 ->SetDataLength(length),
131 TRUE) 129 TRUE)
132 : FALSE; 130 : FALSE;
133 default: 131 default:
134 return FALSE; 132 return FALSE;
135 } 133 }
136 } 134 }
137 FX_BOOL CFX_Barcode::SetCalChecksum(int32_t state) { 135 FX_BOOL CFX_Barcode::SetCalChecksum(int32_t state) {
138 switch (GetType()) { 136 switch (GetType()) {
139 case BC_CODE39: 137 case BC_CODE39:
140 case BC_CODABAR: 138 case BC_CODABAR:
141 case BC_CODE128: 139 case BC_CODE128:
142 case BC_CODE128_B: 140 case BC_CODE128_B:
143 case BC_CODE128_C: 141 case BC_CODE128_C:
144 case BC_EAN8: 142 case BC_EAN8:
145 case BC_EAN13: 143 case BC_EAN13:
146 case BC_UPCA: 144 case BC_UPCA:
147 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine) 145 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
148 ->SetCalChecksum(state), 146 ->SetCalChecksum(state),
149 TRUE) 147 TRUE)
150 : FALSE; 148 : FALSE;
151 default: 149 default:
152 return FALSE; 150 return FALSE;
153 } 151 }
154 } 152 }
155 FX_BOOL CFX_Barcode::SetFont(CFX_Font* pFont) { 153 FX_BOOL CFX_Barcode::SetFont(CFX_Font* pFont) {
156 switch (GetType()) { 154 switch (GetType()) {
157 case BC_CODE39: 155 case BC_CODE39:
158 case BC_CODABAR: 156 case BC_CODABAR:
159 case BC_CODE128: 157 case BC_CODE128:
160 case BC_CODE128_B: 158 case BC_CODE128_B:
161 case BC_CODE128_C: 159 case BC_CODE128_C:
162 case BC_EAN8: 160 case BC_EAN8:
163 case BC_EAN13: 161 case BC_EAN13:
164 case BC_UPCA: 162 case BC_UPCA:
165 return m_pBCEngine 163 return m_pBCEngine
166 ? static_cast<CBC_OneCode*>(m_pBCEngine)->SetFont(pFont) 164 ? static_cast<CBC_OneCode*>(m_pBCEngine.get())->SetFont(pFont)
167 : FALSE; 165 : FALSE;
168 default: 166 default:
169 return FALSE; 167 return FALSE;
170 } 168 }
171 } 169 }
172 FX_BOOL CFX_Barcode::SetFontSize(FX_FLOAT size) { 170 FX_BOOL CFX_Barcode::SetFontSize(FX_FLOAT size) {
173 switch (GetType()) { 171 switch (GetType()) {
174 case BC_CODE39: 172 case BC_CODE39:
175 case BC_CODABAR: 173 case BC_CODABAR:
176 case BC_CODE128: 174 case BC_CODE128:
177 case BC_CODE128_B: 175 case BC_CODE128_B:
178 case BC_CODE128_C: 176 case BC_CODE128_C:
179 case BC_EAN8: 177 case BC_EAN8:
180 case BC_EAN13: 178 case BC_EAN13:
181 case BC_UPCA: 179 case BC_UPCA:
182 return m_pBCEngine 180 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
183 ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontSize(size), 181 ->SetFontSize(size),
184 TRUE) 182 TRUE)
185 : FALSE; 183 : FALSE;
186 default: 184 default:
187 return FALSE; 185 return FALSE;
188 } 186 }
189 } 187 }
190 FX_BOOL CFX_Barcode::SetFontStyle(int32_t style) { 188 FX_BOOL CFX_Barcode::SetFontStyle(int32_t style) {
191 switch (GetType()) { 189 switch (GetType()) {
192 case BC_CODE39: 190 case BC_CODE39:
193 case BC_CODABAR: 191 case BC_CODABAR:
194 case BC_CODE128: 192 case BC_CODE128:
195 case BC_CODE128_B: 193 case BC_CODE128_B:
196 case BC_CODE128_C: 194 case BC_CODE128_C:
197 case BC_EAN8: 195 case BC_EAN8:
198 case BC_EAN13: 196 case BC_EAN13:
199 case BC_UPCA: 197 case BC_UPCA:
200 return m_pBCEngine 198 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
201 ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontStyle(style), 199 ->SetFontStyle(style),
202 TRUE) 200 TRUE)
203 : FALSE; 201 : FALSE;
204 default: 202 default:
205 return FALSE; 203 return FALSE;
206 } 204 }
207 } 205 }
208 FX_BOOL CFX_Barcode::SetFontColor(FX_ARGB color) { 206 FX_BOOL CFX_Barcode::SetFontColor(FX_ARGB color) {
209 switch (GetType()) { 207 switch (GetType()) {
210 case BC_CODE39: 208 case BC_CODE39:
211 case BC_CODABAR: 209 case BC_CODABAR:
212 case BC_CODE128: 210 case BC_CODE128:
213 case BC_CODE128_B: 211 case BC_CODE128_B:
214 case BC_CODE128_C: 212 case BC_CODE128_C:
215 case BC_EAN8: 213 case BC_EAN8:
216 case BC_EAN13: 214 case BC_EAN13:
217 case BC_UPCA: 215 case BC_UPCA:
218 return m_pBCEngine 216 return m_pBCEngine ? (static_cast<CBC_OneCode*>(m_pBCEngine.get())
219 ? (static_cast<CBC_OneCode*>(m_pBCEngine)->SetFontColor(color), 217 ->SetFontColor(color),
220 TRUE) 218 TRUE)
221 : FALSE; 219 : FALSE;
222 default: 220 default:
223 return FALSE; 221 return FALSE;
224 } 222 }
225 } 223 }
226 FX_BOOL CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) { 224 FX_BOOL CFX_Barcode::SetTextLocation(BC_TEXT_LOC location) {
227 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC); 225 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(BC_TEXT_LOC);
228 memptrtype memptr = nullptr; 226 memptrtype memptr = nullptr;
229 switch (GetType()) { 227 switch (GetType()) {
230 case BC_CODE39: 228 case BC_CODE39:
231 memptr = (memptrtype)&CBC_Code39::SetTextLocation; 229 memptr = (memptrtype)&CBC_Code39::SetTextLocation;
232 break; 230 break;
233 case BC_CODABAR: 231 case BC_CODABAR:
234 memptr = (memptrtype)&CBC_Codabar::SetTextLocation; 232 memptr = (memptrtype)&CBC_Codabar::SetTextLocation;
235 break; 233 break;
236 case BC_CODE128: 234 case BC_CODE128:
237 case BC_CODE128_B: 235 case BC_CODE128_B:
238 case BC_CODE128_C: 236 case BC_CODE128_C:
239 memptr = (memptrtype)&CBC_Code128::SetTextLocation; 237 memptr = (memptrtype)&CBC_Code128::SetTextLocation;
240 break; 238 break;
241 default: 239 default:
242 break; 240 break;
243 } 241 }
244 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(location) : FALSE; 242 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(location) : FALSE;
245 } 243 }
246 FX_BOOL CFX_Barcode::SetWideNarrowRatio(int32_t ratio) { 244 FX_BOOL CFX_Barcode::SetWideNarrowRatio(int32_t ratio) {
247 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t); 245 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
248 memptrtype memptr = nullptr; 246 memptrtype memptr = nullptr;
249 switch (GetType()) { 247 switch (GetType()) {
250 case BC_CODE39: 248 case BC_CODE39:
251 memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio; 249 memptr = (memptrtype)&CBC_Code39::SetWideNarrowRatio;
252 break; 250 break;
253 case BC_CODABAR: 251 case BC_CODABAR:
254 memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio; 252 memptr = (memptrtype)&CBC_Codabar::SetWideNarrowRatio;
255 break; 253 break;
256 default: 254 default:
257 break; 255 break;
258 } 256 }
259 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(ratio) : FALSE; 257 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(ratio) : FALSE;
260 } 258 }
261 FX_BOOL CFX_Barcode::SetStartChar(FX_CHAR start) { 259 FX_BOOL CFX_Barcode::SetStartChar(FX_CHAR start) {
262 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR); 260 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
263 memptrtype memptr = nullptr; 261 memptrtype memptr = nullptr;
264 switch (GetType()) { 262 switch (GetType()) {
265 case BC_CODABAR: 263 case BC_CODABAR:
266 memptr = (memptrtype)&CBC_Codabar::SetStartChar; 264 memptr = (memptrtype)&CBC_Codabar::SetStartChar;
267 break; 265 break;
268 default: 266 default:
269 break; 267 break;
270 } 268 }
271 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(start) : FALSE; 269 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(start) : FALSE;
272 } 270 }
273 FX_BOOL CFX_Barcode::SetEndChar(FX_CHAR end) { 271 FX_BOOL CFX_Barcode::SetEndChar(FX_CHAR end) {
274 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR); 272 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(FX_CHAR);
275 memptrtype memptr = nullptr; 273 memptrtype memptr = nullptr;
276 switch (GetType()) { 274 switch (GetType()) {
277 case BC_CODABAR: 275 case BC_CODABAR:
278 memptr = (memptrtype)&CBC_Codabar::SetEndChar; 276 memptr = (memptrtype)&CBC_Codabar::SetEndChar;
279 break; 277 break;
280 default: 278 default:
281 break; 279 break;
282 } 280 }
283 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(end) : FALSE; 281 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(end) : FALSE;
284 } 282 }
285 FX_BOOL CFX_Barcode::SetVersion(int32_t version) { 283 FX_BOOL CFX_Barcode::SetVersion(int32_t version) {
286 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t); 284 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
287 memptrtype memptr = nullptr; 285 memptrtype memptr = nullptr;
288 switch (GetType()) { 286 switch (GetType()) {
289 case BC_QR_CODE: 287 case BC_QR_CODE:
290 memptr = (memptrtype)&CBC_QRCode::SetVersion; 288 memptr = (memptrtype)&CBC_QRCode::SetVersion;
291 break; 289 break;
292 default: 290 default:
293 break; 291 break;
294 } 292 }
295 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(version) : FALSE; 293 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(version) : FALSE;
296 } 294 }
297 FX_BOOL CFX_Barcode::SetErrorCorrectionLevel(int32_t level) { 295 FX_BOOL CFX_Barcode::SetErrorCorrectionLevel(int32_t level) {
298 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t); 296 typedef FX_BOOL (CBC_CodeBase::*memptrtype)(int32_t);
299 memptrtype memptr = nullptr; 297 memptrtype memptr = nullptr;
300 switch (GetType()) { 298 switch (GetType()) {
301 case BC_QR_CODE: 299 case BC_QR_CODE:
302 memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel; 300 memptr = (memptrtype)&CBC_QRCode::SetErrorCorrectionLevel;
303 break; 301 break;
304 case BC_PDF417: 302 case BC_PDF417:
305 memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel; 303 memptr = (memptrtype)&CBC_PDF417I::SetErrorCorrectionLevel;
306 break; 304 break;
307 default: 305 default:
308 return FALSE; 306 return FALSE;
309 } 307 }
310 return m_pBCEngine && memptr ? (m_pBCEngine->*memptr)(level) : FALSE; 308 return m_pBCEngine && memptr ? (m_pBCEngine.get()->*memptr)(level) : FALSE;
311 } 309 }
312 FX_BOOL CFX_Barcode::SetTruncated(FX_BOOL truncated) { 310 FX_BOOL CFX_Barcode::SetTruncated(FX_BOOL truncated) {
313 typedef void (CBC_CodeBase::*memptrtype)(FX_BOOL); 311 typedef void (CBC_CodeBase::*memptrtype)(FX_BOOL);
314 memptrtype memptr = nullptr; 312 memptrtype memptr = nullptr;
315 switch (GetType()) { 313 switch (GetType()) {
316 case BC_PDF417: 314 case BC_PDF417:
317 memptr = (memptrtype)&CBC_PDF417I::SetTruncated; 315 memptr = (memptrtype)&CBC_PDF417I::SetTruncated;
318 break; 316 break;
319 default: 317 default:
320 break; 318 break;
321 } 319 }
322 return m_pBCEngine && memptr ? ((m_pBCEngine->*memptr)(truncated), TRUE) 320 return m_pBCEngine && memptr ? ((m_pBCEngine.get()->*memptr)(truncated), TRUE)
323 : FALSE; 321 : FALSE;
324 } 322 }
325 323
326 FX_BOOL CFX_Barcode::Encode(const CFX_WideStringC& contents, 324 FX_BOOL CFX_Barcode::Encode(const CFX_WideStringC& contents,
327 FX_BOOL isDevice, 325 FX_BOOL isDevice,
328 int32_t& e) { 326 int32_t& e) {
329 if (!m_pBCEngine) { 327 return m_pBCEngine && m_pBCEngine->Encode(contents, isDevice, e);
330 return FALSE;
331 }
332 return m_pBCEngine->Encode(contents, isDevice, e);
333 } 328 }
329
334 FX_BOOL CFX_Barcode::RenderDevice(CFX_RenderDevice* device, 330 FX_BOOL CFX_Barcode::RenderDevice(CFX_RenderDevice* device,
335 const CFX_Matrix* matrix, 331 const CFX_Matrix* matrix,
336 int32_t& e) { 332 int32_t& e) {
337 if (!m_pBCEngine) { 333 return m_pBCEngine && m_pBCEngine->RenderDevice(device, matrix, e);
338 return FALSE;
339 }
340 return m_pBCEngine->RenderDevice(device, matrix, e);
341 } 334 }
335
342 FX_BOOL CFX_Barcode::RenderBitmap(CFX_DIBitmap*& pOutBitmap, int32_t& e) { 336 FX_BOOL CFX_Barcode::RenderBitmap(CFX_DIBitmap*& pOutBitmap, int32_t& e) {
343 if (!m_pBCEngine) { 337 return m_pBCEngine && m_pBCEngine->RenderBitmap(pOutBitmap, e);
344 return FALSE;
345 }
346 return m_pBCEngine->RenderBitmap(pOutBitmap, e);
347 } 338 }
OLDNEW
« no previous file with comments | « xfa/fwl/basewidget/cfx_barcode.h ('k') | xfa/fwl/basewidget/fwl_caretimp.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698