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

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

Issue 1992033002: fgas/ code cleanup. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Rebase to master Created 4 years, 7 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
« xfa/fxfa/app/xfa_ffdoc.cpp ('K') | « xfa/fxfa/app/xfa_ffdoc.cpp ('k') | no next file » | 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_layout_itemlayout.h" 7 #include "xfa/fxfa/parser/xfa_layout_itemlayout.h"
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
11 11
12 #include "xfa/fgas/crt/fgas_algorithm.h"
13 #include "xfa/fxfa/app/xfa_ffnotify.h" 12 #include "xfa/fxfa/app/xfa_ffnotify.h"
14 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h" 13 #include "xfa/fxfa/fm2js/xfa_fm2jsapi.h"
15 #include "xfa/fxfa/parser/cxfa_occur.h" 14 #include "xfa/fxfa/parser/cxfa_occur.h"
16 #include "xfa/fxfa/parser/xfa_doclayout.h" 15 #include "xfa/fxfa/parser/xfa_doclayout.h"
17 #include "xfa/fxfa/parser/xfa_document.h" 16 #include "xfa/fxfa/parser/xfa_document.h"
18 #include "xfa/fxfa/parser/xfa_document_layout_imp.h" 17 #include "xfa/fxfa/parser/xfa_document_layout_imp.h"
19 #include "xfa/fxfa/parser/xfa_layout_appadapter.h" 18 #include "xfa/fxfa/parser/xfa_layout_appadapter.h"
20 #include "xfa/fxfa/parser/xfa_layout_pagemgr_new.h" 19 #include "xfa/fxfa/parser/xfa_layout_pagemgr_new.h"
21 #include "xfa/fxfa/parser/xfa_localemgr.h" 20 #include "xfa/fxfa/parser/xfa_localemgr.h"
22 #include "xfa/fxfa/parser/xfa_object.h" 21 #include "xfa/fxfa/parser/xfa_object.h"
23 #include "xfa/fxfa/parser/xfa_parser.h" 22 #include "xfa/fxfa/parser/xfa_parser.h"
24 #include "xfa/fxfa/parser/xfa_parser_imp.h" 23 #include "xfa/fxfa/parser/xfa_parser_imp.h"
25 #include "xfa/fxfa/parser/xfa_script.h" 24 #include "xfa/fxfa/parser/xfa_script.h"
26 #include "xfa/fxfa/parser/xfa_utils.h" 25 #include "xfa/fxfa/parser/xfa_utils.h"
27 26
27 namespace {
28
29 int32_t SeparateStringW(const FX_WCHAR* pStr,
30 int32_t iStrLen,
31 FX_WCHAR delimiter,
32 CFX_WideStringArray& pieces) {
33 if (!pStr)
34 return 0;
35 if (iStrLen < 0)
36 iStrLen = FXSYS_wcslen(pStr);
37
38 const FX_WCHAR* pToken = pStr;
39 const FX_WCHAR* pEnd = pStr + iStrLen;
40 while (TRUE) {
41 if (pStr >= pEnd || delimiter == *pStr) {
42 CFX_WideString sub(pToken, pStr - pToken);
43 pieces.Add(sub);
44 pToken = pStr + 1;
45 if (pStr >= pEnd)
46 break;
47 }
48 pStr++;
49 }
50 return pieces.GetSize();
51 }
52
53 } // namespace
54
28 CXFA_ItemLayoutProcessor::CXFA_ItemLayoutProcessor(CXFA_Node* pNode, 55 CXFA_ItemLayoutProcessor::CXFA_ItemLayoutProcessor(CXFA_Node* pNode,
29 CXFA_LayoutPageMgr* pPageMgr) 56 CXFA_LayoutPageMgr* pPageMgr)
30 : m_bKeepBreakFinish(FALSE), 57 : m_bKeepBreakFinish(FALSE),
31 m_bIsProcessKeep(FALSE), 58 m_bIsProcessKeep(FALSE),
32 m_pKeepHeadNode(nullptr), 59 m_pKeepHeadNode(nullptr),
33 m_pKeepTailNode(nullptr), 60 m_pKeepTailNode(nullptr),
34 m_pFormNode(pNode), 61 m_pFormNode(pNode),
35 m_pLayoutItem(nullptr), 62 m_pLayoutItem(nullptr),
36 m_pOldLayoutItem(nullptr), 63 m_pOldLayoutItem(nullptr),
37 m_pCurChildNode(XFA_LAYOUT_INVALIDNODE), 64 m_pCurChildNode(XFA_LAYOUT_INVALIDNODE),
(...skipping 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after
1373 pMarginNode->GetMeasure(XFA_ATTRIBUTE_LeftInset).ToUnit(XFA_UNIT_Pt); 1400 pMarginNode->GetMeasure(XFA_ATTRIBUTE_LeftInset).ToUnit(XFA_UNIT_Pt);
1374 fRightInset = 1401 fRightInset =
1375 pMarginNode->GetMeasure(XFA_ATTRIBUTE_RightInset).ToUnit(XFA_UNIT_Pt); 1402 pMarginNode->GetMeasure(XFA_ATTRIBUTE_RightInset).ToUnit(XFA_UNIT_Pt);
1376 } 1403 }
1377 FX_FLOAT fContentWidthLimit = 1404 FX_FLOAT fContentWidthLimit =
1378 bContainerWidthAutoSize ? XFA_LAYOUT_FLOAT_MAX 1405 bContainerWidthAutoSize ? XFA_LAYOUT_FLOAT_MAX
1379 : fContainerWidth - fLeftInset - fRightInset; 1406 : fContainerWidth - fLeftInset - fRightInset;
1380 CFX_WideStringC wsColumnWidths; 1407 CFX_WideStringC wsColumnWidths;
1381 if (pLayoutNode->TryCData(XFA_ATTRIBUTE_ColumnWidths, wsColumnWidths)) { 1408 if (pLayoutNode->TryCData(XFA_ATTRIBUTE_ColumnWidths, wsColumnWidths)) {
1382 CFX_WideStringArray widths; 1409 CFX_WideStringArray widths;
1383 if (FX_SeparateStringW(wsColumnWidths.c_str(), wsColumnWidths.GetLength(), 1410 if (SeparateStringW(wsColumnWidths.c_str(), wsColumnWidths.GetLength(),
1384 L' ', widths) > 0) { 1411 L' ', widths) > 0) {
1385 int32_t iCols = widths.GetSize(); 1412 int32_t iCols = widths.GetSize();
1386 CFX_WideString wsWidth; 1413 CFX_WideString wsWidth;
1387 for (int32_t i = 0; i < iCols; i++) { 1414 for (int32_t i = 0; i < iCols; i++) {
1388 wsWidth = widths[i]; 1415 wsWidth = widths[i];
1389 wsWidth.TrimLeft(L' '); 1416 wsWidth.TrimLeft(L' ');
1390 if (!wsWidth.IsEmpty()) { 1417 if (!wsWidth.IsEmpty()) {
1391 CXFA_Measurement measure(wsWidth.AsStringC()); 1418 CXFA_Measurement measure(wsWidth.AsStringC());
1392 m_rgSpecifiedColumnWidths.Add(measure.ToUnit(XFA_UNIT_Pt)); 1419 m_rgSpecifiedColumnWidths.Add(measure.ToUnit(XFA_UNIT_Pt));
1393 } 1420 }
1394 } 1421 }
(...skipping 1568 matching lines...) Expand 10 before | Expand all | Expand 10 after
2963 (int32_t)(uintptr_t)m_PendingNodesCount.GetValueAt(pTemplate); 2990 (int32_t)(uintptr_t)m_PendingNodesCount.GetValueAt(pTemplate);
2964 if (iCount >= iMax) { 2991 if (iCount >= iMax) {
2965 return FALSE; 2992 return FALSE;
2966 } 2993 }
2967 iCount++; 2994 iCount++;
2968 m_PendingNodesCount.SetAt(pTemplate, (void*)(uintptr_t)(iCount)); 2995 m_PendingNodesCount.SetAt(pTemplate, (void*)(uintptr_t)(iCount));
2969 return TRUE; 2996 return TRUE;
2970 } 2997 }
2971 return TRUE; 2998 return TRUE;
2972 } 2999 }
OLDNEW
« xfa/fxfa/app/xfa_ffdoc.cpp ('K') | « xfa/fxfa/app/xfa_ffdoc.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698