OLD | NEW |
| (Empty) |
1 // Copyright 2014 PDFium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | |
6 | |
7 #ifndef XFA_SRC_FXFA_PARSER_XFA_DOCUMENT_LAYOUT_IMP_H_ | |
8 #define XFA_SRC_FXFA_PARSER_XFA_DOCUMENT_LAYOUT_IMP_H_ | |
9 | |
10 #include "xfa/src/fxfa/parser/xfa_doclayout.h" | |
11 | |
12 class CXFA_ItemLayoutProcessor; | |
13 class CXFA_LayoutPageMgr; | |
14 class CXFA_ContainerLayoutItem; | |
15 | |
16 class CXFA_LayoutProcessor : public IXFA_DocLayout { | |
17 public: | |
18 CXFA_LayoutProcessor(CXFA_Document* pDocument); | |
19 ~CXFA_LayoutProcessor(); | |
20 virtual CXFA_Document* GetDocument() const; | |
21 virtual int32_t StartLayout(FX_BOOL bForceRestart = FALSE); | |
22 virtual int32_t DoLayout(IFX_Pause* pPause = NULL); | |
23 virtual FX_BOOL IncrementLayout(); | |
24 virtual int32_t CountPages() const; | |
25 virtual IXFA_LayoutPage* GetPage(int32_t index) const; | |
26 virtual CXFA_LayoutItem* GetLayoutItem(CXFA_Node* pFormItem); | |
27 | |
28 void AddChangedContainer(CXFA_Node* pContainer); | |
29 void SetForceReLayout(FX_BOOL bForceRestart) { m_bNeeLayout = bForceRestart; } | |
30 CXFA_ContainerLayoutItem* GetRootLayoutItem() const; | |
31 CXFA_ItemLayoutProcessor* GetRootRootItemLayoutProcessor() { | |
32 return m_pRootItemLayoutProcessor; | |
33 } | |
34 CXFA_LayoutPageMgr* GetLayoutPageMgr() { return m_pLayoutPageMgr; } | |
35 | |
36 protected: | |
37 void ClearLayoutData(); | |
38 | |
39 FX_BOOL IsNeedLayout(); | |
40 | |
41 CXFA_Document* m_pDocument; | |
42 CXFA_ItemLayoutProcessor* m_pRootItemLayoutProcessor; | |
43 CXFA_LayoutPageMgr* m_pLayoutPageMgr; | |
44 CXFA_NodeArray m_rgChangedContainers; | |
45 uint32_t m_nProgressCounter; | |
46 FX_BOOL m_bNeeLayout; | |
47 }; | |
48 | |
49 #endif // XFA_SRC_FXFA_PARSER_XFA_DOCUMENT_LAYOUT_IMP_H_ | |
OLD | NEW |