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

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

Issue 2031873003: Get rid of NULLs in xfa/ (Closed) Base URL: https://pdfium.googlesource.com/pdfium@nullptr_fpdfsdk
Patch Set: Created 4 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
« no previous file with comments | « xfa/fxfa/parser/xfa_layout_appadapter.h ('k') | xfa/fxfa/parser/xfa_layout_itemlayout.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 #ifndef XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_ 7 #ifndef XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_
8 #define XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_ 8 #define XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_
9 9
10 #include <float.h> 10 #include <float.h>
(...skipping 29 matching lines...) Expand all
40 XFA_ItemLayoutProcessorStages_Keep, 40 XFA_ItemLayoutProcessorStages_Keep,
41 XFA_ItemLayoutProcessorStages_Container, 41 XFA_ItemLayoutProcessorStages_Container,
42 XFA_ItemLayoutProcessorStages_BreakAfter, 42 XFA_ItemLayoutProcessorStages_BreakAfter,
43 XFA_ItemLayoutProcessorStages_BookendTrailer, 43 XFA_ItemLayoutProcessorStages_BookendTrailer,
44 XFA_ItemLayoutProcessorStages_Done, 44 XFA_ItemLayoutProcessorStages_Done,
45 }; 45 };
46 46
47 class CXFA_LayoutContext { 47 class CXFA_LayoutContext {
48 public: 48 public:
49 CXFA_LayoutContext() 49 CXFA_LayoutContext()
50 : m_prgSpecifiedColumnWidths(NULL), 50 : m_prgSpecifiedColumnWidths(nullptr),
51 m_fCurColumnWidth(0), 51 m_fCurColumnWidth(0),
52 m_bCurColumnWidthAvaiable(FALSE), 52 m_bCurColumnWidthAvaiable(FALSE),
53 m_pOverflowProcessor(NULL), 53 m_pOverflowProcessor(nullptr),
54 m_pOverflowNode(NULL) {} 54 m_pOverflowNode(nullptr) {}
55 ~CXFA_LayoutContext() { m_pOverflowProcessor = NULL; } 55 ~CXFA_LayoutContext() { m_pOverflowProcessor = nullptr; }
56 CFX_ArrayTemplate<FX_FLOAT>* m_prgSpecifiedColumnWidths; 56 CFX_ArrayTemplate<FX_FLOAT>* m_prgSpecifiedColumnWidths;
57 FX_FLOAT m_fCurColumnWidth; 57 FX_FLOAT m_fCurColumnWidth;
58 FX_BOOL m_bCurColumnWidthAvaiable; 58 FX_BOOL m_bCurColumnWidthAvaiable;
59 CXFA_ItemLayoutProcessor* m_pOverflowProcessor; 59 CXFA_ItemLayoutProcessor* m_pOverflowProcessor;
60 CXFA_Node* m_pOverflowNode; 60 CXFA_Node* m_pOverflowNode;
61 }; 61 };
62 62
63 class CXFA_ItemLayoutProcessor { 63 class CXFA_ItemLayoutProcessor {
64 public: 64 public:
65 CXFA_ItemLayoutProcessor(CXFA_Node* pNode, CXFA_LayoutPageMgr* pPageMgr); 65 CXFA_ItemLayoutProcessor(CXFA_Node* pNode, CXFA_LayoutPageMgr* pPageMgr);
66 66
67 XFA_ItemLayoutProcessorResult DoLayout( 67 XFA_ItemLayoutProcessorResult DoLayout(
68 FX_BOOL bUseBreakControl, 68 FX_BOOL bUseBreakControl,
69 FX_FLOAT fHeightLimit, 69 FX_FLOAT fHeightLimit,
70 FX_FLOAT fRealHeight = XFA_LAYOUT_FLOAT_MAX, 70 FX_FLOAT fRealHeight = XFA_LAYOUT_FLOAT_MAX,
71 CXFA_LayoutContext* pContext = NULL); 71 CXFA_LayoutContext* pContext = nullptr);
72 72
73 void GetCurrentComponentPos(FX_FLOAT& fAbsoluteX, FX_FLOAT& fAbsoluteY); 73 void GetCurrentComponentPos(FX_FLOAT& fAbsoluteX, FX_FLOAT& fAbsoluteY);
74 74
75 void GetCurrentComponentSize(FX_FLOAT& fWidth, FX_FLOAT& fHeight); 75 void GetCurrentComponentSize(FX_FLOAT& fWidth, FX_FLOAT& fHeight);
76 76
77 void SetCurrentComponentPos(FX_FLOAT fAbsoluteX, FX_FLOAT fAbsoluteY); 77 void SetCurrentComponentPos(FX_FLOAT fAbsoluteX, FX_FLOAT fAbsoluteY);
78 78
79 void SetCurrentComponentSize(FX_FLOAT fWidth, FX_FLOAT fHeight); 79 void SetCurrentComponentSize(FX_FLOAT fWidth, FX_FLOAT fHeight);
80 inline CXFA_Node* GetFormNode() { return m_pFormNode; } 80 inline CXFA_Node* GetFormNode() { return m_pFormNode; }
81 inline FX_BOOL HasLayoutItem() { return m_pLayoutItem != NULL; } 81 inline FX_BOOL HasLayoutItem() { return !!m_pLayoutItem; }
82 CXFA_ContentLayoutItem* ExtractLayoutItem(); 82 CXFA_ContentLayoutItem* ExtractLayoutItem();
83 83
84 static FX_BOOL IncrementRelayoutNode(CXFA_LayoutProcessor* pLayoutProcessor, 84 static FX_BOOL IncrementRelayoutNode(CXFA_LayoutProcessor* pLayoutProcessor,
85 CXFA_Node* pNode, 85 CXFA_Node* pNode,
86 CXFA_Node* pParentNode); 86 CXFA_Node* pParentNode);
87 static void CalculatePositionedContainerPos(CXFA_Node* pNode, 87 static void CalculatePositionedContainerPos(CXFA_Node* pNode,
88 FX_FLOAT fWidth, 88 FX_FLOAT fWidth,
89 FX_FLOAT fHeight, 89 FX_FLOAT fHeight,
90 FX_FLOAT& fAbsoluteX, 90 FX_FLOAT& fAbsoluteX,
91 FX_FLOAT& fAbsoluteY); 91 FX_FLOAT& fAbsoluteY);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
131 void ProcessUnUseOverFlow(CXFA_Node* pLeaderNode, 131 void ProcessUnUseOverFlow(CXFA_Node* pLeaderNode,
132 CXFA_Node* pTrailerNode, 132 CXFA_Node* pTrailerNode,
133 CXFA_ContentLayoutItem* pTrailerItem, 133 CXFA_ContentLayoutItem* pTrailerItem,
134 CXFA_Node* pFormNode); 134 CXFA_Node* pFormNode);
135 void ProcessUnUseBinds(CXFA_Node* pFormNode); 135 void ProcessUnUseBinds(CXFA_Node* pFormNode);
136 FX_BOOL IsAddNewRowForTrailer(CXFA_ContentLayoutItem* pTrailerItem); 136 FX_BOOL IsAddNewRowForTrailer(CXFA_ContentLayoutItem* pTrailerItem);
137 FX_BOOL JudgeLeaderOrTrailerForOccur(CXFA_Node* pFormNode); 137 FX_BOOL JudgeLeaderOrTrailerForOccur(CXFA_Node* pFormNode);
138 CXFA_ContentLayoutItem* CreateContentLayoutItem(CXFA_Node* pFormNode); 138 CXFA_ContentLayoutItem* CreateContentLayoutItem(CXFA_Node* pFormNode);
139 139
140 protected: 140 protected:
141 void DoLayoutPositionedContainer(CXFA_LayoutContext* pContext = NULL); 141 void DoLayoutPositionedContainer(CXFA_LayoutContext* pContext = nullptr);
142 void DoLayoutTableContainer(CXFA_Node* pLayoutNode); 142 void DoLayoutTableContainer(CXFA_Node* pLayoutNode);
143 XFA_ItemLayoutProcessorResult DoLayoutFlowedContainer( 143 XFA_ItemLayoutProcessorResult DoLayoutFlowedContainer(
144 FX_BOOL bUseBreakControl, 144 FX_BOOL bUseBreakControl,
145 XFA_ATTRIBUTEENUM eFlowStrategy, 145 XFA_ATTRIBUTEENUM eFlowStrategy,
146 FX_FLOAT fHeightLimit, 146 FX_FLOAT fHeightLimit,
147 FX_FLOAT fRealHeight, 147 FX_FLOAT fRealHeight,
148 CXFA_LayoutContext* pContext = NULL, 148 CXFA_LayoutContext* pContext = nullptr,
149 FX_BOOL bRootForceTb = FALSE); 149 FX_BOOL bRootForceTb = FALSE);
150 void DoLayoutField(); 150 void DoLayoutField();
151 void XFA_ItemLayoutProcessor_GotoNextContainerNode( 151 void XFA_ItemLayoutProcessor_GotoNextContainerNode(
152 CXFA_Node*& pCurActionNode, 152 CXFA_Node*& pCurActionNode,
153 XFA_ItemLayoutProcessorStages& nCurStage, 153 XFA_ItemLayoutProcessorStages& nCurStage,
154 CXFA_Node* pParentContainer, 154 CXFA_Node* pParentContainer,
155 FX_BOOL bUsePageBreak); 155 FX_BOOL bUsePageBreak);
156 156
157 FX_BOOL ProcessKeepNodesForCheckNext(CXFA_Node*& pCurActionNode, 157 FX_BOOL ProcessKeepNodesForCheckNext(CXFA_Node*& pCurActionNode,
158 XFA_ItemLayoutProcessorStages& nCurStage, 158 XFA_ItemLayoutProcessorStages& nCurStage,
(...skipping 28 matching lines...) Expand all
187 FX_FLOAT m_fLastRowWidth; 187 FX_FLOAT m_fLastRowWidth;
188 FX_FLOAT m_fLastRowY; 188 FX_FLOAT m_fLastRowY;
189 FX_FLOAT m_fWidthLimite; 189 FX_FLOAT m_fWidthLimite;
190 FX_BOOL m_bUseInheriated; 190 FX_BOOL m_bUseInheriated;
191 XFA_ItemLayoutProcessorResult m_ePreProcessRs; 191 XFA_ItemLayoutProcessorResult m_ePreProcessRs;
192 FX_BOOL m_bHasAvailHeight; 192 FX_BOOL m_bHasAvailHeight;
193 }; 193 };
194 FX_BOOL XFA_ItemLayoutProcessor_IsTakingSpace(CXFA_Node* pNode); 194 FX_BOOL XFA_ItemLayoutProcessor_IsTakingSpace(CXFA_Node* pNode);
195 195
196 #endif // XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_ 196 #endif // XFA_FXFA_PARSER_XFA_LAYOUT_ITEMLAYOUT_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/xfa_layout_appadapter.h ('k') | xfa/fxfa/parser/xfa_layout_itemlayout.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698