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

Side by Side Diff: xfa/src/fxbarcode/oned/BC_OnedUPCAWriter.cpp

Issue 1726373002: Remove foo != NULL checks in xfa/src/fxbarcode. (Closed) Base URL: https://pdfium.googlesource.com/pdfium@master
Patch Set: rebase Created 4 years, 10 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/src/fxbarcode/oned/BC_OnedUPCAReader.cpp ('k') | xfa/src/fxbarcode/pdf417/BC_PDF417.cpp » ('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 // Original code is licensed as follows: 6 // Original code is licensed as follows:
7 /* 7 /*
8 * Copyright 2010 ZXing authors 8 * Copyright 2010 ZXing authors
9 * 9 *
10 * Licensed under the Apache License, Version 2.0 (the "License"); 10 * Licensed under the Apache License, Version 2.0 (the "License");
(...skipping 16 matching lines...) Expand all
27 27
28 CBC_OnedUPCAWriter::CBC_OnedUPCAWriter() { 28 CBC_OnedUPCAWriter::CBC_OnedUPCAWriter() {
29 m_subWriter = NULL; 29 m_subWriter = NULL;
30 m_bLeftPadding = TRUE; 30 m_bLeftPadding = TRUE;
31 m_bRightPadding = TRUE; 31 m_bRightPadding = TRUE;
32 } 32 }
33 void CBC_OnedUPCAWriter::Init() { 33 void CBC_OnedUPCAWriter::Init() {
34 m_subWriter = new CBC_OnedEAN13Writer; 34 m_subWriter = new CBC_OnedEAN13Writer;
35 } 35 }
36 CBC_OnedUPCAWriter::~CBC_OnedUPCAWriter() { 36 CBC_OnedUPCAWriter::~CBC_OnedUPCAWriter() {
37 if (m_subWriter != NULL) { 37 delete m_subWriter;
38 delete m_subWriter;
39 }
40 m_subWriter = NULL;
41 } 38 }
42 FX_BOOL CBC_OnedUPCAWriter::CheckContentValidity( 39 FX_BOOL CBC_OnedUPCAWriter::CheckContentValidity(
43 const CFX_WideStringC& contents) { 40 const CFX_WideStringC& contents) {
44 int32_t i = 0; 41 int32_t i = 0;
45 for (i = 0; i < contents.GetLength(); i++) { 42 for (i = 0; i < contents.GetLength(); i++) {
46 if (contents.GetAt(i) >= '0' && contents.GetAt(i) <= '9') { 43 if (contents.GetAt(i) >= '0' && contents.GetAt(i) <= '9') {
47 continue; 44 continue;
48 } else { 45 } else {
49 return FALSE; 46 return FALSE;
50 } 47 }
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 int32_t leftPadding = 7 * multiple; 120 int32_t leftPadding = 7 * multiple;
124 int32_t leftPosition = 10 * multiple + leftPadding; 121 int32_t leftPosition = 10 * multiple + leftPadding;
125 CFX_ByteString str = FX_UTF8Encode(contents); 122 CFX_ByteString str = FX_UTF8Encode(contents);
126 int32_t iLen = str.GetLength(); 123 int32_t iLen = str.GetLength();
127 FXTEXT_CHARPOS* pCharPos = FX_Alloc(FXTEXT_CHARPOS, iLen); 124 FXTEXT_CHARPOS* pCharPos = FX_Alloc(FXTEXT_CHARPOS, iLen);
128 FXSYS_memset(pCharPos, 0, sizeof(FXTEXT_CHARPOS) * iLen); 125 FXSYS_memset(pCharPos, 0, sizeof(FXTEXT_CHARPOS) * iLen);
129 CFX_ByteString tempStr = str.Mid(1, 5); 126 CFX_ByteString tempStr = str.Mid(1, 5);
130 FX_FLOAT strWidth = (FX_FLOAT)35 * multiple; 127 FX_FLOAT strWidth = (FX_FLOAT)35 * multiple;
131 FX_FLOAT blank = 0.0; 128 FX_FLOAT blank = 0.0;
132 CFX_FxgeDevice geBitmap; 129 CFX_FxgeDevice geBitmap;
133 if (pOutBitmap != NULL) { 130 if (pOutBitmap) {
134 geBitmap.Attach(pOutBitmap); 131 geBitmap.Attach(pOutBitmap);
135 } 132 }
136 FX_FLOAT charsWidth = 0; 133 FX_FLOAT charsWidth = 0;
137 iLen = tempStr.GetLength(); 134 iLen = tempStr.GetLength();
138 int32_t iFontSize = (int32_t)fabs(m_fFontSize); 135 int32_t iFontSize = (int32_t)fabs(m_fFontSize);
139 int32_t iTextHeight = iFontSize + 1; 136 int32_t iTextHeight = iFontSize + 1;
140 if (pOutBitmap == NULL) { 137 if (pOutBitmap == NULL) {
141 CFX_Matrix matr(m_outputHScale, 0.0, 0.0, 1.0, 0.0, 0.0); 138 CFX_Matrix matr(m_outputHScale, 0.0, 0.0, 1.0, 0.0, 0.0);
142 CFX_FloatRect rect( 139 CFX_FloatRect rect(
143 (FX_FLOAT)leftPosition, (FX_FLOAT)(m_Height - iTextHeight), 140 (FX_FLOAT)leftPosition, (FX_FLOAT)(m_Height - iTextHeight),
(...skipping 30 matching lines...) Expand all
174 matr3.TransformRect(rect3); 171 matr3.TransformRect(rect3);
175 re = rect3.GetOutterRect(); 172 re = rect3.GetOutterRect();
176 device->FillRect(&re, m_backgroundColor); 173 device->FillRect(&re, m_backgroundColor);
177 } 174 }
178 if (pOutBitmap == NULL) { 175 if (pOutBitmap == NULL) {
179 strWidth = strWidth * m_outputHScale; 176 strWidth = strWidth * m_outputHScale;
180 } 177 }
181 CalcTextInfo(tempStr, pCharPos + 1, m_pFont, strWidth, iFontSize, blank); 178 CalcTextInfo(tempStr, pCharPos + 1, m_pFont, strWidth, iFontSize, blank);
182 CFX_Matrix affine_matrix(1.0, 0.0, 0.0, -1.0, 0.0, (FX_FLOAT)iFontSize); 179 CFX_Matrix affine_matrix(1.0, 0.0, 0.0, -1.0, 0.0, (FX_FLOAT)iFontSize);
183 CFX_FxgeDevice ge; 180 CFX_FxgeDevice ge;
184 if (pOutBitmap != NULL) { 181 if (pOutBitmap) {
185 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb); 182 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb);
186 ge.GetBitmap()->Clear(m_backgroundColor); 183 ge.GetBitmap()->Clear(m_backgroundColor);
187 ge.DrawNormalText(iLen, pCharPos + 1, m_pFont, 184 ge.DrawNormalText(iLen, pCharPos + 1, m_pFont,
188 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize, 185 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
189 (CFX_Matrix*)&affine_matrix, m_fontColor, 186 (CFX_Matrix*)&affine_matrix, m_fontColor,
190 FXTEXT_CLEARTYPE); 187 FXTEXT_CLEARTYPE);
191 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition, m_Height - iTextHeight); 188 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition, m_Height - iTextHeight);
192 } else { 189 } else {
193 CFX_Matrix affine_matrix1(1.0, 0.0, 0.0, -1.0, 190 CFX_Matrix affine_matrix1(1.0, 0.0, 0.0, -1.0,
194 (FX_FLOAT)leftPosition * m_outputHScale, 191 (FX_FLOAT)leftPosition * m_outputHScale,
195 (FX_FLOAT)(m_Height - iTextHeight + iFontSize)); 192 (FX_FLOAT)(m_Height - iTextHeight + iFontSize));
196 if (matrix != NULL) { 193 if (matrix) {
197 affine_matrix1.Concat(*matrix); 194 affine_matrix1.Concat(*matrix);
198 } 195 }
199 device->DrawNormalText(iLen, pCharPos + 1, m_pFont, 196 device->DrawNormalText(iLen, pCharPos + 1, m_pFont,
200 CFX_GEModule::Get()->GetFontCache(), 197 CFX_GEModule::Get()->GetFontCache(),
201 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1, 198 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1,
202 m_fontColor, FXTEXT_CLEARTYPE); 199 m_fontColor, FXTEXT_CLEARTYPE);
203 } 200 }
204 tempStr = str.Mid(6, 5); 201 tempStr = str.Mid(6, 5);
205 iLen = tempStr.GetLength(); 202 iLen = tempStr.GetLength();
206 charsWidth = 0.0f; 203 charsWidth = 0.0f;
207 CalcTextInfo(tempStr, pCharPos + 6, m_pFont, strWidth, iFontSize, blank); 204 CalcTextInfo(tempStr, pCharPos + 6, m_pFont, strWidth, iFontSize, blank);
208 if (pOutBitmap != NULL) { 205 if (pOutBitmap) {
209 FX_RECT rect2(0, 0, (int)strWidth, iTextHeight); 206 FX_RECT rect2(0, 0, (int)strWidth, iTextHeight);
210 ge.FillRect(&rect2, m_backgroundColor); 207 ge.FillRect(&rect2, m_backgroundColor);
211 ge.DrawNormalText(iLen, pCharPos + 6, m_pFont, 208 ge.DrawNormalText(iLen, pCharPos + 6, m_pFont,
212 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize, 209 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
213 (CFX_Matrix*)&affine_matrix, m_fontColor, 210 (CFX_Matrix*)&affine_matrix, m_fontColor,
214 FXTEXT_CLEARTYPE); 211 FXTEXT_CLEARTYPE);
215 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition + 40 * multiple, 212 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition + 40 * multiple,
216 m_Height - iTextHeight); 213 m_Height - iTextHeight);
217 } else { 214 } else {
218 CFX_Matrix affine_matrix1( 215 CFX_Matrix affine_matrix1(
219 1.0, 0.0, 0.0, -1.0, 216 1.0, 0.0, 0.0, -1.0,
220 (FX_FLOAT)(leftPosition + 40 * multiple) * m_outputHScale, 217 (FX_FLOAT)(leftPosition + 40 * multiple) * m_outputHScale,
221 (FX_FLOAT)(m_Height - iTextHeight + iFontSize)); 218 (FX_FLOAT)(m_Height - iTextHeight + iFontSize));
222 if (matrix != NULL) { 219 if (matrix) {
223 affine_matrix1.Concat(*matrix); 220 affine_matrix1.Concat(*matrix);
224 } 221 }
225 device->DrawNormalText(iLen, pCharPos + 6, m_pFont, 222 device->DrawNormalText(iLen, pCharPos + 6, m_pFont,
226 CFX_GEModule::Get()->GetFontCache(), 223 CFX_GEModule::Get()->GetFontCache(),
227 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1, 224 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1,
228 m_fontColor, FXTEXT_CLEARTYPE); 225 m_fontColor, FXTEXT_CLEARTYPE);
229 } 226 }
230 tempStr = str.Mid(0, 1); 227 tempStr = str.Mid(0, 1);
231 iLen = tempStr.GetLength(); 228 iLen = tempStr.GetLength();
232 strWidth = (FX_FLOAT)multiple * 7; 229 strWidth = (FX_FLOAT)multiple * 7;
233 if (pOutBitmap == NULL) { 230 if (pOutBitmap == NULL) {
234 strWidth = strWidth * m_outputHScale; 231 strWidth = strWidth * m_outputHScale;
235 } 232 }
236 CalcTextInfo(tempStr, pCharPos, m_pFont, strWidth, iFontSize, blank); 233 CalcTextInfo(tempStr, pCharPos, m_pFont, strWidth, iFontSize, blank);
237 if (pOutBitmap != NULL) { 234 if (pOutBitmap) {
238 delete ge.GetBitmap(); 235 delete ge.GetBitmap();
239 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb); 236 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb);
240 ge.GetBitmap()->Clear(m_backgroundColor); 237 ge.GetBitmap()->Clear(m_backgroundColor);
241 ge.DrawNormalText(iLen, pCharPos, m_pFont, 238 ge.DrawNormalText(iLen, pCharPos, m_pFont,
242 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize, 239 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
243 (CFX_Matrix*)&affine_matrix, m_fontColor, 240 (CFX_Matrix*)&affine_matrix, m_fontColor,
244 FXTEXT_CLEARTYPE); 241 FXTEXT_CLEARTYPE);
245 geBitmap.SetDIBits(ge.GetBitmap(), 0, m_Height - iTextHeight); 242 geBitmap.SetDIBits(ge.GetBitmap(), 0, m_Height - iTextHeight);
246 } else { 243 } else {
247 CFX_Matrix affine_matrix1(1.0, 0.0, 0.0, -1.0, 0, 244 CFX_Matrix affine_matrix1(1.0, 0.0, 0.0, -1.0, 0,
248 (FX_FLOAT)(m_Height - iTextHeight + iFontSize)); 245 (FX_FLOAT)(m_Height - iTextHeight + iFontSize));
249 if (matrix != NULL) { 246 if (matrix) {
250 affine_matrix1.Concat(*matrix); 247 affine_matrix1.Concat(*matrix);
251 } 248 }
252 device->DrawNormalText(iLen, pCharPos, m_pFont, 249 device->DrawNormalText(iLen, pCharPos, m_pFont,
253 CFX_GEModule::Get()->GetFontCache(), 250 CFX_GEModule::Get()->GetFontCache(),
254 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1, 251 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1,
255 m_fontColor, FXTEXT_CLEARTYPE); 252 m_fontColor, FXTEXT_CLEARTYPE);
256 } 253 }
257 tempStr = str.Mid(11, 1); 254 tempStr = str.Mid(11, 1);
258 iLen = tempStr.GetLength(); 255 iLen = tempStr.GetLength();
259 CalcTextInfo(tempStr, pCharPos + 11, m_pFont, strWidth, iFontSize, blank); 256 CalcTextInfo(tempStr, pCharPos + 11, m_pFont, strWidth, iFontSize, blank);
260 if (pOutBitmap != NULL) { 257 if (pOutBitmap) {
261 delete ge.GetBitmap(); 258 delete ge.GetBitmap();
262 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb); 259 ge.Create((int)strWidth, iTextHeight, FXDIB_Argb);
263 ge.GetBitmap()->Clear(m_backgroundColor); 260 ge.GetBitmap()->Clear(m_backgroundColor);
264 ge.DrawNormalText(iLen, pCharPos + 11, m_pFont, 261 ge.DrawNormalText(iLen, pCharPos + 11, m_pFont,
265 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize, 262 CFX_GEModule::Get()->GetFontCache(), (FX_FLOAT)iFontSize,
266 (CFX_Matrix*)&affine_matrix, m_fontColor, 263 (CFX_Matrix*)&affine_matrix, m_fontColor,
267 FXTEXT_CLEARTYPE); 264 FXTEXT_CLEARTYPE);
268 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition + 85 * multiple, 265 geBitmap.SetDIBits(ge.GetBitmap(), leftPosition + 85 * multiple,
269 m_Height - iTextHeight); 266 m_Height - iTextHeight);
270 } else { 267 } else {
271 CFX_Matrix affine_matrix1( 268 CFX_Matrix affine_matrix1(
272 1.0, 0.0, 0.0, -1.0, 269 1.0, 0.0, 0.0, -1.0,
273 (FX_FLOAT)(leftPosition + 85 * multiple) * m_outputHScale, 270 (FX_FLOAT)(leftPosition + 85 * multiple) * m_outputHScale,
274 (FX_FLOAT)(m_Height - iTextHeight + iFontSize)); 271 (FX_FLOAT)(m_Height - iTextHeight + iFontSize));
275 if (matrix != NULL) { 272 if (matrix) {
276 affine_matrix1.Concat(*matrix); 273 affine_matrix1.Concat(*matrix);
277 } 274 }
278 device->DrawNormalText(iLen, pCharPos + 11, m_pFont, 275 device->DrawNormalText(iLen, pCharPos + 11, m_pFont,
279 CFX_GEModule::Get()->GetFontCache(), 276 CFX_GEModule::Get()->GetFontCache(),
280 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1, 277 (FX_FLOAT)iFontSize, (CFX_Matrix*)&affine_matrix1,
281 m_fontColor, FXTEXT_CLEARTYPE); 278 m_fontColor, FXTEXT_CLEARTYPE);
282 } 279 }
283 FX_Free(pCharPos); 280 FX_Free(pCharPos);
284 } 281 }
285 void CBC_OnedUPCAWriter::RenderResult(const CFX_WideStringC& contents, 282 void CBC_OnedUPCAWriter::RenderResult(const CFX_WideStringC& contents,
286 uint8_t* code, 283 uint8_t* code,
287 int32_t codeLength, 284 int32_t codeLength,
288 FX_BOOL isDevice, 285 FX_BOOL isDevice,
289 int32_t& e) { 286 int32_t& e) {
290 CBC_OneDimWriter::RenderResult(contents, code, codeLength, isDevice, e); 287 CBC_OneDimWriter::RenderResult(contents, code, codeLength, isDevice, e);
291 } 288 }
OLDNEW
« no previous file with comments | « xfa/src/fxbarcode/oned/BC_OnedUPCAReader.cpp ('k') | xfa/src/fxbarcode/pdf417/BC_PDF417.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698