7#ifndef XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_XFANODE_H_
8#define XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_XFANODE_H_
10#include "xfa/fxfa/parser/cxfa_nodeiteratortemplate.h"
15 return pTemplateNode->GetFirstChild();
18 return pTemplateNode->GetNextSibling();
21 return pTemplateNode->GetParent();
25using CXFA_NodeIterator =
26 CXFA_NodeIteratorTemplate<CXFA_Node, CXFA_TraverseStrategy_XFANode>;
void InsertAfter(CXFA_ContentLayoutItem *pNext)
CXFA_ContentLayoutItem * GetNext() const
CXFA_ContentLayoutItem * GetLast()
~CXFA_ContentLayoutProcessor()
Result DoLayout(bool bUseBreakControl, float fHeightLimit, float fRealHeight)
void DoLayoutPageArea(CXFA_ViewLayoutItem *pPageAreaLayoutItem)
cppgc::Heap * GetHeap() const
CXFA_ContentLayoutItem * ExtractLayoutItem()
void Trace(cppgc::Visitor *visitor) const
CXFA_Node * GetFormNode()
CXFA_FFNotify * GetNotify() const
void StartFieldDrawLayout(CXFA_Node *pItem, float *pCalcWidth, float *pCalcHeight)
void OnLayoutItemRemoving(CXFA_LayoutProcessor *pLayout, CXFA_LayoutItem *pSender)
bool IsContentLayoutItem() const
CXFA_ContentLayoutItem * AsContentLayoutItem()
CXFA_Node * GetFormNode() const
static CXFA_LayoutProcessor * FromDocument(const CXFA_Document *pXFADoc)
void RemoveChildAndNotify(CXFA_Node *pNode, bool bNotify)
CXFA_Node * GetFirstContainerChild() const
CXFA_Node * GetNextContainerSibling() const
XFA_AttributeValue GetIntact()
bool IsLayoutGeneratedNode() const
void SetBindingNode(CXFA_Node *node)
void SetFlag(XFA_NodeFlag dwFlag)
CXFA_Node * GetTemplateNodeIfExists() const
CXFA_Node * GetPrevContainerSibling() const
CXFA_Node * GetBindData()
bool RemoveBindItem(CXFA_Node *pFormNode)
bool IsUnusedNode() const
bool PresenceRequiresSpace() const
XFA_Element GetElementType() const
CXFA_Document * GetDocument() const
bool IsContainerNode() const
static CXFA_Node * GetNextSibling(CXFA_Node *pTemplateNode)
static CXFA_Node * GetParent(CXFA_Node *pTemplateNode)
static CXFA_Node * GetFirstChild(CXFA_Node *pTemplateNode)
void FinishPaginatedPageSets()
int32_t GetPageIndex(const CXFA_ViewLayoutItem *pPage) const
CXFA_ViewLayoutItem * GetPage(int32_t index) const
CXFA_Node * QueryOverflow(CXFA_Node *pFormNode)
absl::optional< BreakData > ProcessBreakAfter(const CXFA_Node *pBreakNode)
absl::optional< OverflowData > ProcessOverflow(CXFA_Node *pFormNode, bool bCreatePage)
bool PrepareFirstPage(CXFA_Node *pRootSubform)
bool InitLayoutPage(CXFA_Node *pFormNode)
CXFA_Node * ProcessBookendTrailer(const CXFA_Node *pBookendNode)
CXFA_ViewLayoutItem * GetRootLayoutItem() const
int32_t GetPageCount() const
void Trace(cppgc::Visitor *visitor) const
CXFA_Node * ProcessBookendLeader(const CXFA_Node *pBookendNode)
cppgc::Heap * GetHeap() const
absl::optional< BreakData > ProcessBreakBefore(const CXFA_Node *pBreakNode)
void SubmitContentItem(CXFA_ContentLayoutItem *pContentLayoutItem, CXFA_ContentLayoutProcessor::Result eStatus)
~CXFA_ViewLayoutProcessor()
bool GetNextAvailContentHeight(float fChildHeight)
constexpr float kXFALayoutPrecision
#define CONSTRUCT_VIA_MAKE_GARBAGE_COLLECTED
UNOWNED_PTR_EXCLUSION CXFA_Node * pTrailer
UNOWNED_PTR_EXCLUSION CXFA_Node * pLeader
UNOWNED_PTR_EXCLUSION CXFA_Node * pTrailer
UNOWNED_PTR_EXCLUSION CXFA_Node * pLeader
#define UNOWNED_PTR_EXCLUSION