Index: xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.h |
diff --git a/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.h b/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.h |
index b0c96a89b568abbbea85b5b073420d73ba31e948..1bbe9fa0c78d439c3e64b26ccfbd705b532405a5 100644 |
--- a/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.h |
+++ b/xfa/src/fxfa/src/parser/xfa_layout_pagemgr_new.h |
@@ -1,152 +1,152 @@ |
-// Copyright 2014 PDFium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
- |
-#ifndef _XFA_LAYOUT_PAGEMGR_H_ |
-#define _XFA_LAYOUT_PAGEMGR_H_ |
-class CXFA_ContainerRecord { |
- public: |
- CXFA_ContainerRecord(CXFA_ContainerLayoutItem* pPageSet = NULL, |
- CXFA_ContainerLayoutItem* pPageArea = NULL, |
- CXFA_ContainerLayoutItem* pContentArea = NULL) |
- : pCurPageSet(pPageSet), |
- pCurPageArea(pPageArea), |
- pCurContentArea(pContentArea) {} |
- CXFA_ContainerLayoutItem* pCurPageSet; |
- CXFA_ContainerLayoutItem* pCurPageArea; |
- CXFA_ContainerLayoutItem* pCurContentArea; |
-}; |
-class CXFA_LayoutPageMgr { |
- public: |
- CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor); |
- ~CXFA_LayoutPageMgr(); |
- FX_BOOL InitLayoutPage(CXFA_Node* pFormNode); |
- FX_BOOL PrepareFirstPage(CXFA_Node* pRootSubform); |
- FX_FLOAT GetAvailHeight(); |
- FX_BOOL GetNextAvailContentHeight(FX_FLOAT fChildHeight); |
- void SubmitContentItem(CXFA_ContentLayoutItem* pContentLayoutItem, |
- XFA_ItemLayoutProcessorResult eStatus); |
- void FinishPaginatedPageSets(); |
- void SyncLayoutData(); |
- int32_t GetPageCount() const; |
- IXFA_LayoutPage* GetPage(int32_t index) const; |
- int32_t GetPageIndex(const IXFA_LayoutPage* pPage) const; |
- inline CXFA_ContainerLayoutItem* GetRootLayoutItem() const { |
- return m_pPageSetLayoutItemRoot; |
- } |
- FX_BOOL ProcessBreakBeforeOrAfter(CXFA_Node* pBreakNode, |
- FX_BOOL bBefore, |
- CXFA_Node*& pBreakLeaderNode, |
- CXFA_Node*& pBreakTrailerNode, |
- FX_BOOL& bCreatePage); |
- FX_BOOL ProcessOverflow(CXFA_Node* pFormNode, |
- CXFA_Node*& pLeaderNode, |
- CXFA_Node*& pTrailerNode, |
- FX_BOOL bDataMerge = FALSE, |
- FX_BOOL bCreatePage = TRUE); |
- CXFA_Node* QueryOverflow(CXFA_Node* pFormNode, |
- CXFA_LayoutContext* pLayoutContext = NULL); |
- FX_BOOL ProcessBookendLeaderOrTrailer(CXFA_Node* pBookendNode, |
- FX_BOOL bLeader, |
- CXFA_Node*& pBookendAppendNode); |
- CXFA_LayoutItem* FindOrCreateLayoutItem(CXFA_Node* pFormNode); |
- |
- protected: |
- FX_BOOL AppendNewPage(FX_BOOL bFirstTemPage = FALSE); |
- void ReorderPendingLayoutRecordToTail(CXFA_ContainerRecord* pNewRecord, |
- CXFA_ContainerRecord* pPrevRecord); |
- void RemoveLayoutRecord(CXFA_ContainerRecord* pNewRecord, |
- CXFA_ContainerRecord* pPrevRecord); |
- inline CXFA_ContainerRecord* GetCurrentContainerRecord() { |
- CXFA_ContainerRecord* result = |
- ((CXFA_ContainerRecord*)m_rgProposedContainerRecord.GetAt( |
- m_pCurrentContainerRecord)); |
- ASSERT(result); |
- return result; |
- } |
- CXFA_ContainerRecord* CreateContainerRecord(CXFA_Node* pPageNode = NULL, |
- FX_BOOL bCreateNew = FALSE); |
- void AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, |
- CXFA_Node* pNewPageArea); |
- void AddContentAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, |
- CXFA_Node* pContentArea); |
- FX_BOOL RunBreak(XFA_ELEMENT eBreakType, |
- XFA_ATTRIBUTEENUM eTargetType, |
- CXFA_Node* pTarget, |
- FX_BOOL bStartNew); |
- CXFA_Node* BreakOverflow(CXFA_Node* pOverflowNode, |
- CXFA_Node*& pLeaderTemplate, |
- CXFA_Node*& pTrailerTemplate, |
- FX_BOOL bCreatePage = TRUE); |
- FX_BOOL ResolveBookendLeaderOrTrailer(CXFA_Node* pBookendNode, |
- FX_BOOL bLeader, |
- CXFA_Node*& pBookendAppendTemplate); |
- FX_BOOL ExecuteBreakBeforeOrAfter(CXFA_Node* pCurNode, |
- FX_BOOL bBefore, |
- CXFA_Node*& pBreakLeaderTemplate, |
- CXFA_Node*& pBreakTrailerTemplate); |
- |
- int32_t CreateMinPageRecord(CXFA_Node* pPageArea, |
- FX_BOOL bTargetPageArea, |
- FX_BOOL bCreateLast = FALSE); |
- void CreateMinPageSetRecord(CXFA_Node* pPageSet, FX_BOOL bCreateAll = FALSE); |
- void CreateNextMinRecord(CXFA_Node* pRecordNode); |
- FX_BOOL FindPageAreaFromPageSet(CXFA_Node* pPageSet, |
- CXFA_Node* pStartChild, |
- CXFA_Node* pTargetPageArea = NULL, |
- CXFA_Node* pTargetContentArea = NULL, |
- FX_BOOL bNewPage = FALSE, |
- FX_BOOL bQuery = FALSE); |
- FX_BOOL FindPageAreaFromPageSet_Ordered(CXFA_Node* pPageSet, |
- CXFA_Node* pStartChild, |
- CXFA_Node* pTargetPageArea = NULL, |
- CXFA_Node* pTargetContentArea = NULL, |
- FX_BOOL bNewPage = FALSE, |
- FX_BOOL bQuery = FALSE); |
- FX_BOOL FindPageAreaFromPageSet_SimplexDuplex( |
- CXFA_Node* pPageSet, |
- CXFA_Node* pStartChild, |
- CXFA_Node* pTargetPageArea = NULL, |
- CXFA_Node* pTargetContentArea = NULL, |
- FX_BOOL bNewPage = FALSE, |
- FX_BOOL bQuery = FALSE, |
- XFA_ATTRIBUTEENUM ePreferredPosition = XFA_ATTRIBUTEENUM_First); |
- FX_BOOL MatchPageAreaOddOrEven(CXFA_Node* pPageArea, FX_BOOL bLastMatch); |
- CXFA_Node* GetNextAvailPageArea(CXFA_Node* pTargetPageArea, |
- CXFA_Node* pTargetContentArea = NULL, |
- FX_BOOL bNewPage = FALSE, |
- FX_BOOL bQuery = FALSE); |
- FX_BOOL GetNextContentArea(CXFA_Node* pTargetContentArea); |
- void InitPageSetMap(); |
- void ProcessLastPageSet(); |
- inline FX_BOOL IsPageSetRootOrderedOccurrence() { |
- return m_ePageSetMode == XFA_ATTRIBUTEENUM_OrderedOccurrence; |
- } |
- void ClearData(); |
- void ClearRecordList(); |
- void MergePageSetContents(); |
- void LayoutPageSetContents(); |
- void PrepareLayout(); |
-#if defined(_XFA_LAYOUTITEM_MAPCACHE_) || defined(_XFA_LAYOUTITEM_ProcessCACHE_) |
- void SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem); |
-#endif |
- CXFA_LayoutProcessor* m_pLayoutProcessor; |
- CXFA_Node* m_pTemplatePageSetRoot; |
- CXFA_ContainerLayoutItem* m_pPageSetLayoutItemRoot; |
- CXFA_ContainerLayoutItem* m_pPageSetCurRoot; |
- FX_POSITION m_pCurrentContainerRecord; |
- CFX_PtrList m_rgProposedContainerRecord; |
- CXFA_Node* m_pCurPageArea; |
- int32_t m_nAvailPages; |
- int32_t m_nCurPageCount; |
- XFA_ATTRIBUTEENUM m_ePageSetMode; |
- FX_BOOL m_bCreateOverFlowPage; |
- CFX_MapPtrTemplate<CXFA_Node*, int32_t> m_pPageSetMap; |
- CFX_ArrayTemplate<CXFA_ContainerLayoutItem*> m_PageArray; |
-#ifdef _XFA_LAYOUTITEM_MAPCACHE_ |
- CFX_MapPtrToPtr m_NodeToContent; |
-#endif |
-}; |
-#endif |
+// Copyright 2014 PDFium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
+ |
+#ifndef _XFA_LAYOUT_PAGEMGR_H_ |
+#define _XFA_LAYOUT_PAGEMGR_H_ |
+class CXFA_ContainerRecord { |
+ public: |
+ CXFA_ContainerRecord(CXFA_ContainerLayoutItem* pPageSet = NULL, |
+ CXFA_ContainerLayoutItem* pPageArea = NULL, |
+ CXFA_ContainerLayoutItem* pContentArea = NULL) |
+ : pCurPageSet(pPageSet), |
+ pCurPageArea(pPageArea), |
+ pCurContentArea(pContentArea) {} |
+ CXFA_ContainerLayoutItem* pCurPageSet; |
+ CXFA_ContainerLayoutItem* pCurPageArea; |
+ CXFA_ContainerLayoutItem* pCurContentArea; |
+}; |
+class CXFA_LayoutPageMgr { |
+ public: |
+ CXFA_LayoutPageMgr(CXFA_LayoutProcessor* pLayoutProcessor); |
+ ~CXFA_LayoutPageMgr(); |
+ FX_BOOL InitLayoutPage(CXFA_Node* pFormNode); |
+ FX_BOOL PrepareFirstPage(CXFA_Node* pRootSubform); |
+ FX_FLOAT GetAvailHeight(); |
+ FX_BOOL GetNextAvailContentHeight(FX_FLOAT fChildHeight); |
+ void SubmitContentItem(CXFA_ContentLayoutItem* pContentLayoutItem, |
+ XFA_ItemLayoutProcessorResult eStatus); |
+ void FinishPaginatedPageSets(); |
+ void SyncLayoutData(); |
+ int32_t GetPageCount() const; |
+ IXFA_LayoutPage* GetPage(int32_t index) const; |
+ int32_t GetPageIndex(const IXFA_LayoutPage* pPage) const; |
+ inline CXFA_ContainerLayoutItem* GetRootLayoutItem() const { |
+ return m_pPageSetLayoutItemRoot; |
+ } |
+ FX_BOOL ProcessBreakBeforeOrAfter(CXFA_Node* pBreakNode, |
+ FX_BOOL bBefore, |
+ CXFA_Node*& pBreakLeaderNode, |
+ CXFA_Node*& pBreakTrailerNode, |
+ FX_BOOL& bCreatePage); |
+ FX_BOOL ProcessOverflow(CXFA_Node* pFormNode, |
+ CXFA_Node*& pLeaderNode, |
+ CXFA_Node*& pTrailerNode, |
+ FX_BOOL bDataMerge = FALSE, |
+ FX_BOOL bCreatePage = TRUE); |
+ CXFA_Node* QueryOverflow(CXFA_Node* pFormNode, |
+ CXFA_LayoutContext* pLayoutContext = NULL); |
+ FX_BOOL ProcessBookendLeaderOrTrailer(CXFA_Node* pBookendNode, |
+ FX_BOOL bLeader, |
+ CXFA_Node*& pBookendAppendNode); |
+ CXFA_LayoutItem* FindOrCreateLayoutItem(CXFA_Node* pFormNode); |
+ |
+ protected: |
+ FX_BOOL AppendNewPage(FX_BOOL bFirstTemPage = FALSE); |
+ void ReorderPendingLayoutRecordToTail(CXFA_ContainerRecord* pNewRecord, |
+ CXFA_ContainerRecord* pPrevRecord); |
+ void RemoveLayoutRecord(CXFA_ContainerRecord* pNewRecord, |
+ CXFA_ContainerRecord* pPrevRecord); |
+ inline CXFA_ContainerRecord* GetCurrentContainerRecord() { |
+ CXFA_ContainerRecord* result = |
+ ((CXFA_ContainerRecord*)m_rgProposedContainerRecord.GetAt( |
+ m_pCurrentContainerRecord)); |
+ ASSERT(result); |
+ return result; |
+ } |
+ CXFA_ContainerRecord* CreateContainerRecord(CXFA_Node* pPageNode = NULL, |
+ FX_BOOL bCreateNew = FALSE); |
+ void AddPageAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, |
+ CXFA_Node* pNewPageArea); |
+ void AddContentAreaLayoutItem(CXFA_ContainerRecord* pNewRecord, |
+ CXFA_Node* pContentArea); |
+ FX_BOOL RunBreak(XFA_ELEMENT eBreakType, |
+ XFA_ATTRIBUTEENUM eTargetType, |
+ CXFA_Node* pTarget, |
+ FX_BOOL bStartNew); |
+ CXFA_Node* BreakOverflow(CXFA_Node* pOverflowNode, |
+ CXFA_Node*& pLeaderTemplate, |
+ CXFA_Node*& pTrailerTemplate, |
+ FX_BOOL bCreatePage = TRUE); |
+ FX_BOOL ResolveBookendLeaderOrTrailer(CXFA_Node* pBookendNode, |
+ FX_BOOL bLeader, |
+ CXFA_Node*& pBookendAppendTemplate); |
+ FX_BOOL ExecuteBreakBeforeOrAfter(CXFA_Node* pCurNode, |
+ FX_BOOL bBefore, |
+ CXFA_Node*& pBreakLeaderTemplate, |
+ CXFA_Node*& pBreakTrailerTemplate); |
+ |
+ int32_t CreateMinPageRecord(CXFA_Node* pPageArea, |
+ FX_BOOL bTargetPageArea, |
+ FX_BOOL bCreateLast = FALSE); |
+ void CreateMinPageSetRecord(CXFA_Node* pPageSet, FX_BOOL bCreateAll = FALSE); |
+ void CreateNextMinRecord(CXFA_Node* pRecordNode); |
+ FX_BOOL FindPageAreaFromPageSet(CXFA_Node* pPageSet, |
+ CXFA_Node* pStartChild, |
+ CXFA_Node* pTargetPageArea = NULL, |
+ CXFA_Node* pTargetContentArea = NULL, |
+ FX_BOOL bNewPage = FALSE, |
+ FX_BOOL bQuery = FALSE); |
+ FX_BOOL FindPageAreaFromPageSet_Ordered(CXFA_Node* pPageSet, |
+ CXFA_Node* pStartChild, |
+ CXFA_Node* pTargetPageArea = NULL, |
+ CXFA_Node* pTargetContentArea = NULL, |
+ FX_BOOL bNewPage = FALSE, |
+ FX_BOOL bQuery = FALSE); |
+ FX_BOOL FindPageAreaFromPageSet_SimplexDuplex( |
+ CXFA_Node* pPageSet, |
+ CXFA_Node* pStartChild, |
+ CXFA_Node* pTargetPageArea = NULL, |
+ CXFA_Node* pTargetContentArea = NULL, |
+ FX_BOOL bNewPage = FALSE, |
+ FX_BOOL bQuery = FALSE, |
+ XFA_ATTRIBUTEENUM ePreferredPosition = XFA_ATTRIBUTEENUM_First); |
+ FX_BOOL MatchPageAreaOddOrEven(CXFA_Node* pPageArea, FX_BOOL bLastMatch); |
+ CXFA_Node* GetNextAvailPageArea(CXFA_Node* pTargetPageArea, |
+ CXFA_Node* pTargetContentArea = NULL, |
+ FX_BOOL bNewPage = FALSE, |
+ FX_BOOL bQuery = FALSE); |
+ FX_BOOL GetNextContentArea(CXFA_Node* pTargetContentArea); |
+ void InitPageSetMap(); |
+ void ProcessLastPageSet(); |
+ inline FX_BOOL IsPageSetRootOrderedOccurrence() { |
+ return m_ePageSetMode == XFA_ATTRIBUTEENUM_OrderedOccurrence; |
+ } |
+ void ClearData(); |
+ void ClearRecordList(); |
+ void MergePageSetContents(); |
+ void LayoutPageSetContents(); |
+ void PrepareLayout(); |
+#if defined(_XFA_LAYOUTITEM_MAPCACHE_) || defined(_XFA_LAYOUTITEM_ProcessCACHE_) |
+ void SaveLayoutItem(CXFA_LayoutItem* pParentLayoutItem); |
+#endif |
+ CXFA_LayoutProcessor* m_pLayoutProcessor; |
+ CXFA_Node* m_pTemplatePageSetRoot; |
+ CXFA_ContainerLayoutItem* m_pPageSetLayoutItemRoot; |
+ CXFA_ContainerLayoutItem* m_pPageSetCurRoot; |
+ FX_POSITION m_pCurrentContainerRecord; |
+ CFX_PtrList m_rgProposedContainerRecord; |
+ CXFA_Node* m_pCurPageArea; |
+ int32_t m_nAvailPages; |
+ int32_t m_nCurPageCount; |
+ XFA_ATTRIBUTEENUM m_ePageSetMode; |
+ FX_BOOL m_bCreateOverFlowPage; |
+ CFX_MapPtrTemplate<CXFA_Node*, int32_t> m_pPageSetMap; |
+ CFX_ArrayTemplate<CXFA_ContainerLayoutItem*> m_PageArray; |
+#ifdef _XFA_LAYOUTITEM_MAPCACHE_ |
+ CFX_MapPtrToPtr m_NodeToContent; |
+#endif |
+}; |
+#endif |