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

Side by Side Diff: xfa/fxfa/parser/xfa_localevalue.cpp

Issue 1830323006: Remove FX_DWORD from XFA. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Created 4 years, 8 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/fxfa/parser/xfa_localemgr.cpp ('k') | xfa/fxfa/parser/xfa_object_imp.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 6
7 #include "xfa/fxfa/parser/xfa_localevalue.h" 7 #include "xfa/fxfa/parser/xfa_localevalue.h"
8 8
9 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 9 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
10 #include "xfa/fxfa/parser/xfa_docdata.h" 10 #include "xfa/fxfa/parser/xfa_docdata.h"
(...skipping 25 matching lines...) Expand all
36 m_dwType = XFA_VT_NULL; 36 m_dwType = XFA_VT_NULL;
37 m_bValid = TRUE; 37 m_bValid = TRUE;
38 m_pLocaleMgr = NULL; 38 m_pLocaleMgr = NULL;
39 } 39 }
40 CXFA_LocaleValue::CXFA_LocaleValue(const CXFA_LocaleValue& value) { 40 CXFA_LocaleValue::CXFA_LocaleValue(const CXFA_LocaleValue& value) {
41 m_dwType = XFA_VT_NULL; 41 m_dwType = XFA_VT_NULL;
42 m_bValid = TRUE; 42 m_bValid = TRUE;
43 m_pLocaleMgr = NULL; 43 m_pLocaleMgr = NULL;
44 *this = value; 44 *this = value;
45 } 45 }
46 CXFA_LocaleValue::CXFA_LocaleValue(FX_DWORD dwType, 46 CXFA_LocaleValue::CXFA_LocaleValue(uint32_t dwType,
47 CXFA_LocaleMgr* pLocaleMgr) { 47 CXFA_LocaleMgr* pLocaleMgr) {
48 m_dwType = dwType; 48 m_dwType = dwType;
49 m_bValid = (m_dwType != XFA_VT_NULL); 49 m_bValid = (m_dwType != XFA_VT_NULL);
50 m_pLocaleMgr = pLocaleMgr; 50 m_pLocaleMgr = pLocaleMgr;
51 } 51 }
52 CXFA_LocaleValue::CXFA_LocaleValue(FX_DWORD dwType, 52 CXFA_LocaleValue::CXFA_LocaleValue(uint32_t dwType,
53 const CFX_WideString& wsValue, 53 const CFX_WideString& wsValue,
54 CXFA_LocaleMgr* pLocaleMgr) { 54 CXFA_LocaleMgr* pLocaleMgr) {
55 m_wsValue = wsValue; 55 m_wsValue = wsValue;
56 m_dwType = dwType; 56 m_dwType = dwType;
57 m_pLocaleMgr = pLocaleMgr; 57 m_pLocaleMgr = pLocaleMgr;
58 m_bValid = ValidateCanonicalValue(wsValue, dwType); 58 m_bValid = ValidateCanonicalValue(wsValue, dwType);
59 } 59 }
60 CXFA_LocaleValue::CXFA_LocaleValue(FX_DWORD dwType, 60 CXFA_LocaleValue::CXFA_LocaleValue(uint32_t dwType,
61 const CFX_WideString& wsValue, 61 const CFX_WideString& wsValue,
62 const CFX_WideString& wsFormat, 62 const CFX_WideString& wsFormat,
63 IFX_Locale* pLocale, 63 IFX_Locale* pLocale,
64 CXFA_LocaleMgr* pLocaleMgr) { 64 CXFA_LocaleMgr* pLocaleMgr) {
65 m_pLocaleMgr = pLocaleMgr; 65 m_pLocaleMgr = pLocaleMgr;
66 m_bValid = TRUE; 66 m_bValid = TRUE;
67 m_dwType = dwType; 67 m_dwType = dwType;
68 m_bValid = ParsePatternValue(wsValue, wsFormat, pLocale); 68 m_bValid = ParsePatternValue(wsValue, wsFormat, pLocale);
69 } 69 }
70 CXFA_LocaleValue& CXFA_LocaleValue::operator=(const CXFA_LocaleValue& value) { 70 CXFA_LocaleValue& CXFA_LocaleValue::operator=(const CXFA_LocaleValue& value) {
71 m_wsValue = value.m_wsValue; 71 m_wsValue = value.m_wsValue;
72 m_dwType = value.m_dwType; 72 m_dwType = value.m_dwType;
73 m_bValid = value.m_bValid; 73 m_bValid = value.m_bValid;
74 m_pLocaleMgr = value.m_pLocaleMgr; 74 m_pLocaleMgr = value.m_pLocaleMgr;
75 return *this; 75 return *this;
76 } 76 }
77 CXFA_LocaleValue::~CXFA_LocaleValue() {} 77 CXFA_LocaleValue::~CXFA_LocaleValue() {}
78 static FX_LOCALECATEGORY XFA_ValugeCategory(FX_LOCALECATEGORY eCategory, 78 static FX_LOCALECATEGORY XFA_ValugeCategory(FX_LOCALECATEGORY eCategory,
79 FX_DWORD dwValueType) { 79 uint32_t dwValueType) {
80 if (eCategory == FX_LOCALECATEGORY_Unknown) { 80 if (eCategory == FX_LOCALECATEGORY_Unknown) {
81 switch (dwValueType) { 81 switch (dwValueType) {
82 case XFA_VT_BOOLEAN: 82 case XFA_VT_BOOLEAN:
83 case XFA_VT_INTEGER: 83 case XFA_VT_INTEGER:
84 case XFA_VT_DECIMAL: 84 case XFA_VT_DECIMAL:
85 case XFA_VT_FLOAT: 85 case XFA_VT_FLOAT:
86 return FX_LOCALECATEGORY_Num; 86 return FX_LOCALECATEGORY_Num;
87 case XFA_VT_TEXT: 87 case XFA_VT_TEXT:
88 return FX_LOCALECATEGORY_Text; 88 return FX_LOCALECATEGORY_Text;
89 case XFA_VT_DATE: 89 case XFA_VT_DATE:
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
186 } 186 }
187 pFormat->Release(); 187 pFormat->Release();
188 if (pLocale) { 188 if (pLocale) {
189 m_pLocaleMgr->SetDefLocale(locale); 189 m_pLocaleMgr->SetDefLocale(locale);
190 } 190 }
191 return bRet; 191 return bRet;
192 } 192 }
193 CFX_WideString CXFA_LocaleValue::GetValue() const { 193 CFX_WideString CXFA_LocaleValue::GetValue() const {
194 return m_wsValue; 194 return m_wsValue;
195 } 195 }
196 FX_DWORD CXFA_LocaleValue::GetType() const { 196 uint32_t CXFA_LocaleValue::GetType() const {
197 return m_dwType; 197 return m_dwType;
198 } 198 }
199 void CXFA_LocaleValue::SetValue(const CFX_WideString& wsValue, 199 void CXFA_LocaleValue::SetValue(const CFX_WideString& wsValue,
200 FX_DWORD dwType) { 200 uint32_t dwType) {
201 m_wsValue = wsValue; 201 m_wsValue = wsValue;
202 m_dwType = dwType; 202 m_dwType = dwType;
203 } 203 }
204 CFX_WideString CXFA_LocaleValue::GetText() const { 204 CFX_WideString CXFA_LocaleValue::GetText() const {
205 if (m_bValid && m_dwType == XFA_VT_TEXT) { 205 if (m_bValid && m_dwType == XFA_VT_TEXT) {
206 return m_wsValue; 206 return m_wsValue;
207 } 207 }
208 return CFX_WideString(); 208 return CFX_WideString();
209 } 209 }
210 FX_FLOAT CXFA_LocaleValue::GetNum() const { 210 FX_FLOAT CXFA_LocaleValue::GetNum() const {
211 if (m_bValid && (m_dwType == XFA_VT_BOOLEAN || m_dwType == XFA_VT_INTEGER || 211 if (m_bValid && (m_dwType == XFA_VT_BOOLEAN || m_dwType == XFA_VT_INTEGER ||
212 m_dwType == XFA_VT_DECIMAL || m_dwType == XFA_VT_FLOAT)) { 212 m_dwType == XFA_VT_DECIMAL || m_dwType == XFA_VT_FLOAT)) {
213 int64_t nIntegral = 0; 213 int64_t nIntegral = 0;
214 FX_DWORD dwFractional = 0; 214 uint32_t dwFractional = 0;
215 int32_t nExponent = 0; 215 int32_t nExponent = 0;
216 int cc = 0; 216 int cc = 0;
217 FX_BOOL bNegative = FALSE, bExpSign = FALSE; 217 FX_BOOL bNegative = FALSE, bExpSign = FALSE;
218 const FX_WCHAR* str = (const FX_WCHAR*)m_wsValue; 218 const FX_WCHAR* str = (const FX_WCHAR*)m_wsValue;
219 int len = m_wsValue.GetLength(); 219 int len = m_wsValue.GetLength();
220 while (XFA_IsSpace(str[cc]) && cc < len) { 220 while (XFA_IsSpace(str[cc]) && cc < len) {
221 cc++; 221 cc++;
222 } 222 }
223 if (cc >= len) { 223 if (cc >= len) {
224 return 0; 224 return 0;
(...skipping 20 matching lines...) Expand all
245 cc++; 245 cc++;
246 while (cc < len) { 246 while (cc < len) {
247 fraction += fraction_scales[scale] * (str[cc] - '0'); 247 fraction += fraction_scales[scale] * (str[cc] - '0');
248 scale++; 248 scale++;
249 cc++; 249 cc++;
250 if (scale == sizeof fraction_scales / sizeof(double) || 250 if (scale == sizeof fraction_scales / sizeof(double) ||
251 !XFA_IsDigit(str[cc])) { 251 !XFA_IsDigit(str[cc])) {
252 break; 252 break;
253 } 253 }
254 } 254 }
255 dwFractional = (FX_DWORD)(fraction * 4294967296.0); 255 dwFractional = (uint32_t)(fraction * 4294967296.0);
256 } 256 }
257 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) { 257 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) {
258 cc++; 258 cc++;
259 if (cc < len) { 259 if (cc < len) {
260 if (str[cc] == '+') { 260 if (str[cc] == '+') {
261 cc++; 261 cc++;
262 } else if (str[cc] == '-') { 262 } else if (str[cc] == '-') {
263 bExpSign = TRUE; 263 bExpSign = TRUE;
264 cc++; 264 cc++;
265 } 265 }
(...skipping 13 matching lines...) Expand all
279 fValue *= FXSYS_pow(10, (FX_FLOAT)nExponent); 279 fValue *= FXSYS_pow(10, (FX_FLOAT)nExponent);
280 } 280 }
281 return fValue; 281 return fValue;
282 } 282 }
283 return 0; 283 return 0;
284 } 284 }
285 FX_DOUBLE CXFA_LocaleValue::GetDoubleNum() const { 285 FX_DOUBLE CXFA_LocaleValue::GetDoubleNum() const {
286 if (m_bValid && (m_dwType == XFA_VT_BOOLEAN || m_dwType == XFA_VT_INTEGER || 286 if (m_bValid && (m_dwType == XFA_VT_BOOLEAN || m_dwType == XFA_VT_INTEGER ||
287 m_dwType == XFA_VT_DECIMAL || m_dwType == XFA_VT_FLOAT)) { 287 m_dwType == XFA_VT_DECIMAL || m_dwType == XFA_VT_FLOAT)) {
288 int64_t nIntegral = 0; 288 int64_t nIntegral = 0;
289 FX_DWORD dwFractional = 0; 289 uint32_t dwFractional = 0;
290 int32_t nExponent = 0; 290 int32_t nExponent = 0;
291 int32_t cc = 0; 291 int32_t cc = 0;
292 FX_BOOL bNegative = FALSE, bExpSign = FALSE; 292 FX_BOOL bNegative = FALSE, bExpSign = FALSE;
293 const FX_WCHAR* str = (const FX_WCHAR*)m_wsValue; 293 const FX_WCHAR* str = (const FX_WCHAR*)m_wsValue;
294 int len = m_wsValue.GetLength(); 294 int len = m_wsValue.GetLength();
295 while (XFA_IsSpace(str[cc]) && cc < len) { 295 while (XFA_IsSpace(str[cc]) && cc < len) {
296 cc++; 296 cc++;
297 } 297 }
298 if (cc >= len) { 298 if (cc >= len) {
299 return 0; 299 return 0;
(...skipping 20 matching lines...) Expand all
320 cc++; 320 cc++;
321 while (cc < len) { 321 while (cc < len) {
322 fraction += fraction_scales[scale] * (str[cc] - '0'); 322 fraction += fraction_scales[scale] * (str[cc] - '0');
323 scale++; 323 scale++;
324 cc++; 324 cc++;
325 if (scale == sizeof fraction_scales / sizeof(FX_DOUBLE) || 325 if (scale == sizeof fraction_scales / sizeof(FX_DOUBLE) ||
326 !XFA_IsDigit(str[cc])) { 326 !XFA_IsDigit(str[cc])) {
327 break; 327 break;
328 } 328 }
329 } 329 }
330 dwFractional = (FX_DWORD)(fraction * 4294967296.0); 330 dwFractional = (uint32_t)(fraction * 4294967296.0);
331 } 331 }
332 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) { 332 if (cc < len && (str[cc] == 'E' || str[cc] == 'e')) {
333 cc++; 333 cc++;
334 if (cc < len) { 334 if (cc < len) {
335 if (str[cc] == '+') { 335 if (str[cc] == '+') {
336 cc++; 336 cc++;
337 } else if (str[cc] == '-') { 337 } else if (str[cc] == '-') {
338 bExpSign = TRUE; 338 bExpSign = TRUE;
339 cc++; 339 cc++;
340 } 340 }
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 nSplitIndex = wsDateTime.Find(' '); 544 nSplitIndex = wsDateTime.Find(' ');
545 } 545 }
546 if (nSplitIndex < 0) { 546 if (nSplitIndex < 0) {
547 return FALSE; 547 return FALSE;
548 } 548 }
549 wsDate = wsDateTime.Left(nSplitIndex); 549 wsDate = wsDateTime.Left(nSplitIndex);
550 wsTime = wsDateTime.Right(wsDateTime.GetLength() - nSplitIndex - 1); 550 wsTime = wsDateTime.Right(wsDateTime.GetLength() - nSplitIndex - 1);
551 return TRUE; 551 return TRUE;
552 } 552 }
553 FX_BOOL CXFA_LocaleValue::ValidateCanonicalValue(const CFX_WideString& wsValue, 553 FX_BOOL CXFA_LocaleValue::ValidateCanonicalValue(const CFX_WideString& wsValue,
554 FX_DWORD dwVType) { 554 uint32_t dwVType) {
555 if (wsValue.IsEmpty()) { 555 if (wsValue.IsEmpty()) {
556 return TRUE; 556 return TRUE;
557 } 557 }
558 CFX_Unitime dt; 558 CFX_Unitime dt;
559 switch (dwVType) { 559 switch (dwVType) {
560 case XFA_VT_DATE: { 560 case XFA_VT_DATE: {
561 if (ValidateCanonicalDate(wsValue, dt)) { 561 if (ValidateCanonicalDate(wsValue, dt)) {
562 return TRUE; 562 return TRUE;
563 } 563 }
564 CFX_WideString wsDate, wsTime; 564 CFX_WideString wsDate, wsTime;
(...skipping 407 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 } else if (cf == L'z') { 972 } else if (cf == L'z') {
973 nf++; 973 nf++;
974 } else { 974 } else {
975 return FALSE; 975 return FALSE;
976 } 976 }
977 } 977 }
978 n++; 978 n++;
979 } 979 }
980 return n == nCount; 980 return n == nCount;
981 } 981 }
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_localemgr.cpp ('k') | xfa/fxfa/parser/xfa_object_imp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698