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

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

Issue 2207033002: Split xfa_layout_appadapter (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: fix build Created 4 years, 4 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
OLDNEW
(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_FXFA_PARSER_XFA_LAYOUT_APPADAPTER_H_
8 #define XFA_FXFA_PARSER_XFA_LAYOUT_APPADAPTER_H_
9
10 #include "xfa/fxfa/parser/cxfa_containerlayoutitem.h"
11 #include "xfa/fxfa/parser/cxfa_contentlayoutitem.h"
12 #include "xfa/fxfa/parser/cxfa_layoutitem.h"
13
14 class CXFA_TraverseStrategy_PageAreaContainerLayoutItem {
15 public:
16 static inline CXFA_ContainerLayoutItem* GetFirstChild(
17 CXFA_ContainerLayoutItem* pLayoutItem) {
18 if (pLayoutItem->m_pFormNode->GetElementType() == XFA_Element::PageSet) {
19 return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pFirstChild);
20 }
21 return nullptr;
22 }
23 static inline CXFA_ContainerLayoutItem* GetNextSibling(
24 CXFA_ContainerLayoutItem* pLayoutItem) {
25 return (CXFA_ContainerLayoutItem*)pLayoutItem->m_pNextSibling;
26 }
27 static inline CXFA_ContainerLayoutItem* GetParent(
28 CXFA_ContainerLayoutItem* pLayoutItem) {
29 return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
30 }
31 };
32
33 class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem {
34 public:
35 static inline CXFA_ContainerLayoutItem* GetFirstChild(
36 CXFA_ContainerLayoutItem* pLayoutItem) {
37 for (CXFA_LayoutItem* pChildItem = pLayoutItem->m_pFirstChild; pChildItem;
38 pChildItem = pChildItem->m_pNextSibling) {
39 if (CXFA_ContainerLayoutItem* pContainer =
40 pChildItem->AsContainerLayoutItem()) {
41 return pContainer;
42 }
43 }
44 return nullptr;
45 }
46 static inline CXFA_ContainerLayoutItem* GetNextSibling(
47 CXFA_ContainerLayoutItem* pLayoutItem) {
48 for (CXFA_LayoutItem* pChildItem = pLayoutItem->m_pNextSibling; pChildItem;
49 pChildItem = pChildItem->m_pNextSibling) {
50 if (CXFA_ContainerLayoutItem* pContainer =
51 pChildItem->AsContainerLayoutItem()) {
52 return pContainer;
53 }
54 }
55 return nullptr;
56 }
57 static inline CXFA_ContainerLayoutItem* GetParent(
58 CXFA_ContainerLayoutItem* pLayoutItem) {
59 return static_cast<CXFA_ContainerLayoutItem*>(pLayoutItem->m_pParent);
60 }
61 };
62
63 class CXFA_TraverseStrategy_ContentLayoutItem {
64 public:
65 static inline CXFA_ContentLayoutItem* GetFirstChild(
66 CXFA_ContentLayoutItem* pLayoutItem) {
67 return static_cast<CXFA_ContentLayoutItem*>(pLayoutItem->m_pFirstChild);
68 }
69 static inline CXFA_ContentLayoutItem* GetNextSibling(
70 CXFA_ContentLayoutItem* pLayoutItem) {
71 return static_cast<CXFA_ContentLayoutItem*>(pLayoutItem->m_pNextSibling);
72 }
73 static inline CXFA_ContentLayoutItem* GetParent(
74 CXFA_ContentLayoutItem* pLayoutItem) {
75 return static_cast<CXFA_ContentLayoutItem*>(pLayoutItem->m_pParent);
76 }
77 };
78
79 void XFA_ReleaseLayoutItem(CXFA_LayoutItem* pLayoutItem);
80
81 #endif // XFA_FXFA_PARSER_XFA_LAYOUT_APPADAPTER_H_
OLDNEW
« no previous file with comments | « xfa/fxfa/parser/cxfa_traversestrategy_contentlayoutitem.h ('k') | xfa/fxfa/parser/xfa_layout_appadapter.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698