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

Side by Side Diff: xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.cpp

Issue 2649563003: Replace CFX_ByteArray with CFX_ArrayTemplate<uint8_t> (Closed)
Patch Set: re-upload Created 3 years, 11 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
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 2006 Jeremias Maerki in part, and ZXing Authors in part 8 * Copyright 2006 Jeremias Maerki in part, and ZXing Authors in part
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 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
64 CFX_WideString msg; 64 CFX_WideString msg;
65 int32_t len = bytes.GetLength(); 65 int32_t len = bytes.GetLength();
66 for (int32_t i = 0; i < len; i++) { 66 for (int32_t i = 0; i < len; i++) {
67 FX_WCHAR ch = (FX_WCHAR)(bytes.GetAt(i) & 0xff); 67 FX_WCHAR ch = (FX_WCHAR)(bytes.GetAt(i) & 0xff);
68 if (ch == '?' && bytes.GetAt(i) != '?') { 68 if (ch == '?' && bytes.GetAt(i) != '?') {
69 e = BCExceptionCharactersOutsideISO88591Encoding; 69 e = BCExceptionCharactersOutsideISO88591Encoding;
70 return CFX_WideString(); 70 return CFX_WideString();
71 } 71 }
72 msg += ch; 72 msg += ch;
73 } 73 }
74 CFX_ByteArray byteArr; 74 CFX_ArrayTemplate<uint8_t> byteArr;
75 for (int32_t k = 0; k < bytes.GetLength(); k++) { 75 for (int32_t k = 0; k < bytes.GetLength(); k++) {
76 byteArr.Add(bytes.GetAt(k)); 76 byteArr.Add(bytes.GetAt(k));
77 } 77 }
78 CFX_WideString sb; 78 CFX_WideString sb;
79 len = msg.GetLength(); 79 len = msg.GetLength();
80 int32_t p = 0; 80 int32_t p = 0;
81 int32_t textSubMode = SUBMODE_ALPHA; 81 int32_t textSubMode = SUBMODE_ALPHA;
82 if (compaction == TEXT) { 82 if (compaction == TEXT) {
83 encodeText(msg, p, len, sb, textSubMode); 83 encodeText(msg, p, len, sb, textSubMode);
84 } else if (compaction == BYTES) { 84 } else if (compaction == BYTES) {
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after
253 sb += h; 253 sb += h;
254 } else { 254 } else {
255 h = tmp.GetAt(i); 255 h = tmp.GetAt(i);
256 } 256 }
257 } 257 }
258 if ((len % 2) != 0) { 258 if ((len % 2) != 0) {
259 sb += (FX_WCHAR)((h * 30) + 29); 259 sb += (FX_WCHAR)((h * 30) + 29);
260 } 260 }
261 return submode; 261 return submode;
262 } 262 }
263 void CBC_PDF417HighLevelEncoder::encodeBinary(CFX_ByteArray* bytes, 263 void CBC_PDF417HighLevelEncoder::encodeBinary(CFX_ArrayTemplate<uint8_t>* bytes,
264 int32_t startpos, 264 int32_t startpos,
265 int32_t count, 265 int32_t count,
266 int32_t startmode, 266 int32_t startmode,
267 CFX_WideString& sb) { 267 CFX_WideString& sb) {
268 if (count == 1 && startmode == TEXT_COMPACTION) { 268 if (count == 1 && startmode == TEXT_COMPACTION) {
269 sb += (FX_WCHAR)SHIFT_TO_BYTE; 269 sb += (FX_WCHAR)SHIFT_TO_BYTE;
270 } 270 }
271 int32_t idx = startpos; 271 int32_t idx = startpos;
272 int32_t i = 0; 272 int32_t i = 0;
273 if (count >= 6) { 273 if (count >= 6) {
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
380 ch = msg.GetAt(idx); 380 ch = msg.GetAt(idx);
381 if (!isText(ch)) { 381 if (!isText(ch)) {
382 break; 382 break;
383 } 383 }
384 idx++; 384 idx++;
385 } 385 }
386 return idx - startpos; 386 return idx - startpos;
387 } 387 }
388 int32_t CBC_PDF417HighLevelEncoder::determineConsecutiveBinaryCount( 388 int32_t CBC_PDF417HighLevelEncoder::determineConsecutiveBinaryCount(
389 CFX_WideString msg, 389 CFX_WideString msg,
390 CFX_ByteArray* bytes, 390 CFX_ArrayTemplate<uint8_t>* bytes,
391 int32_t startpos, 391 int32_t startpos,
392 int32_t& e) { 392 int32_t& e) {
393 int32_t len = msg.GetLength(); 393 int32_t len = msg.GetLength();
394 int32_t idx = startpos; 394 int32_t idx = startpos;
395 while (idx < len) { 395 while (idx < len) {
396 FX_WCHAR ch = msg.GetAt(idx); 396 FX_WCHAR ch = msg.GetAt(idx);
397 int32_t numericCount = 0; 397 int32_t numericCount = 0;
398 while (numericCount < 13 && isDigit(ch)) { 398 while (numericCount < 13 && isDigit(ch)) {
399 numericCount++; 399 numericCount++;
400 int32_t i = idx + numericCount; 400 int32_t i = idx + numericCount;
(...skipping 19 matching lines...) Expand all
420 } 420 }
421 ch = msg.GetAt(idx); 421 ch = msg.GetAt(idx);
422 if (bytes->GetAt(idx) == 63 && ch != '?') { 422 if (bytes->GetAt(idx) == 63 && ch != '?') {
423 e = BCExceptionNonEncodableCharacterDetected; 423 e = BCExceptionNonEncodableCharacterDetected;
424 return -1; 424 return -1;
425 } 425 }
426 idx++; 426 idx++;
427 } 427 }
428 return idx - startpos; 428 return idx - startpos;
429 } 429 }
OLDNEW
« no previous file with comments | « xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder.h ('k') | xfa/fxbarcode/pdf417/BC_PDF417HighLevelEncoder_unittest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698