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

Side by Side Diff: xfa/src/fxbarcode/datamatrix/BC_Base256Encoder.cpp

Issue 1172793002: Merge to XFA: Use stdint.h types throughout PDFium. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@xfa
Patch Set: Created 5 years, 6 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-2007 Jeremias Maerki. 8 * Copyright 2006-2007 Jeremias Maerki.
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 #include "BC_SymbolInfo.h" 27 #include "BC_SymbolInfo.h"
28 #include "BC_EncoderContext.h" 28 #include "BC_EncoderContext.h"
29 #include "BC_HighLevelEncoder.h" 29 #include "BC_HighLevelEncoder.h"
30 #include "BC_Base256Encoder.h" 30 #include "BC_Base256Encoder.h"
31 CBC_Base256Encoder::CBC_Base256Encoder() 31 CBC_Base256Encoder::CBC_Base256Encoder()
32 { 32 {
33 } 33 }
34 CBC_Base256Encoder::~CBC_Base256Encoder() 34 CBC_Base256Encoder::~CBC_Base256Encoder()
35 { 35 {
36 } 36 }
37 FX_INT32 CBC_Base256Encoder::getEncodingMode() 37 int32_t CBC_Base256Encoder::getEncodingMode()
38 { 38 {
39 return BASE256_ENCODATION; 39 return BASE256_ENCODATION;
40 } 40 }
41 void CBC_Base256Encoder::Encode(CBC_EncoderContext &context, FX_INT32 &e) 41 void CBC_Base256Encoder::Encode(CBC_EncoderContext &context, int32_t &e)
42 { 42 {
43 CFX_WideString buffer; 43 CFX_WideString buffer;
44 buffer += (FX_WCHAR)'\0'; 44 buffer += (FX_WCHAR)'\0';
45 while (context.hasMoreCharacters()) { 45 while (context.hasMoreCharacters()) {
46 FX_WCHAR c = context.getCurrentChar(); 46 FX_WCHAR c = context.getCurrentChar();
47 buffer += c; 47 buffer += c;
48 context.m_pos++; 48 context.m_pos++;
49 FX_INT32 newMode = CBC_HighLevelEncoder::lookAheadTest(context.m_msg, co ntext.m_pos, getEncodingMode()); 49 int32_t newMode = CBC_HighLevelEncoder::lookAheadTest(context.m_msg, con text.m_pos, getEncodingMode());
50 if (newMode != getEncodingMode()) { 50 if (newMode != getEncodingMode()) {
51 context.signalEncoderChange(newMode); 51 context.signalEncoderChange(newMode);
52 break; 52 break;
53 } 53 }
54 } 54 }
55 FX_INT32 dataCount = buffer.GetLength() - 1; 55 int32_t dataCount = buffer.GetLength() - 1;
56 FX_CHAR buf[128]; 56 FX_CHAR buf[128];
57 #if defined(_FX_WINAPI_PARTITION_APP_) 57 #if defined(_FX_WINAPI_PARTITION_APP_)
58 memset(buf, 0, sizeof(FX_CHAR) * 128); 58 memset(buf, 0, sizeof(FX_CHAR) * 128);
59 _itoa_s(dataCount, buf, 128, 10); 59 _itoa_s(dataCount, buf, 128, 10);
60 #else 60 #else
61 FXSYS_itoa(dataCount, buf, 10); 61 FXSYS_itoa(dataCount, buf, 10);
62 #endif 62 #endif
63 buffer.SetAt(0, FX_WCHAR(*buf) - '0'); 63 buffer.SetAt(0, FX_WCHAR(*buf) - '0');
64 FX_INT32 lengthFieldSize = 1; 64 int32_t lengthFieldSize = 1;
65 FX_INT32 currentSize = context.getCodewordCount() + dataCount + lengthFieldS ize; 65 int32_t currentSize = context.getCodewordCount() + dataCount + lengthFieldSi ze;
66 context.updateSymbolInfo(currentSize, e); 66 context.updateSymbolInfo(currentSize, e);
67 if (e != BCExceptionNO) { 67 if (e != BCExceptionNO) {
68 return; 68 return;
69 } 69 }
70 FX_BOOL mustPad = (context.m_symbolInfo->m_dataCapacity - currentSize) > 0; 70 FX_BOOL mustPad = (context.m_symbolInfo->m_dataCapacity - currentSize) > 0;
71 if (context.hasMoreCharacters() || mustPad) { 71 if (context.hasMoreCharacters() || mustPad) {
72 if (dataCount <= 249) { 72 if (dataCount <= 249) {
73 buffer.SetAt(0, (FX_WCHAR) dataCount); 73 buffer.SetAt(0, (FX_WCHAR) dataCount);
74 } else if (dataCount > 249 && dataCount <= 1555) { 74 } else if (dataCount > 249 && dataCount <= 1555) {
75 buffer.SetAt(0, (FX_WCHAR) ((dataCount / 250) + 249)); 75 buffer.SetAt(0, (FX_WCHAR) ((dataCount / 250) + 249));
76 buffer.Insert(1, (FX_WCHAR) (dataCount % 250)); 76 buffer.Insert(1, (FX_WCHAR) (dataCount % 250));
77 } else { 77 } else {
78 e = BCExceptionIllegalStateMessageLengthInvalid; 78 e = BCExceptionIllegalStateMessageLengthInvalid;
79 return; 79 return;
80 } 80 }
81 } 81 }
82 for (FX_INT32 i = 0, c = buffer.GetLength(); i < c; i++) { 82 for (int32_t i = 0, c = buffer.GetLength(); i < c; i++) {
83 context.writeCodeword(randomize255State(buffer.GetAt(i), context.getCode wordCount() + 1)); 83 context.writeCodeword(randomize255State(buffer.GetAt(i), context.getCode wordCount() + 1));
84 } 84 }
85 } 85 }
86 FX_WCHAR CBC_Base256Encoder::randomize255State(FX_WCHAR ch, FX_INT32 codewordPos ition) 86 FX_WCHAR CBC_Base256Encoder::randomize255State(FX_WCHAR ch, int32_t codewordPosi tion)
87 { 87 {
88 FX_INT32 pseudoRandom = ((149 * codewordPosition) % 255) + 1; 88 int32_t pseudoRandom = ((149 * codewordPosition) % 255) + 1;
89 FX_INT32 tempVariable = ch + pseudoRandom; 89 int32_t tempVariable = ch + pseudoRandom;
90 if (tempVariable <= 255) { 90 if (tempVariable <= 255) {
91 return (FX_WCHAR) tempVariable; 91 return (FX_WCHAR) tempVariable;
92 } else { 92 } else {
93 return (FX_WCHAR) (tempVariable - 256); 93 return (FX_WCHAR) (tempVariable - 256);
94 } 94 }
95 } 95 }
OLDNEW
« no previous file with comments | « xfa/src/fxbarcode/datamatrix/BC_Base256Encoder.h ('k') | xfa/src/fxbarcode/datamatrix/BC_C40Encoder.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698