From 6ea5ba035a396bf0956b4b4ab3a5b3ee33b6c546 Mon Sep 17 00:00:00 2001 From: dsinclair Date: Wed, 3 Aug 2016 10:20:32 -0700 Subject: Split xfa_layout_appadapter This moves the needed traverse strategies into their own files, removes the unused one and cleans up the includes. Review-Url: https://codereview.chromium.org/2207033002 --- ...aversestrategy_contentareacontainerlayoutitem.h | 44 ++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h (limited to 'xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h') diff --git a/xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h b/xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h new file mode 100644 index 0000000000..e0a584edf0 --- /dev/null +++ b/xfa/fxfa/parser/cxfa_traversestrategy_contentareacontainerlayoutitem.h @@ -0,0 +1,44 @@ +// Copyright 2016 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_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_ +#define XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_ + +#include "xfa/fxfa/parser/cxfa_containerlayoutitem.h" + +class CXFA_TraverseStrategy_ContentAreaContainerLayoutItem { + public: + static CXFA_ContainerLayoutItem* GetFirstChild( + CXFA_ContainerLayoutItem* pLayoutItem) { + for (CXFA_LayoutItem* pChildItem = pLayoutItem->m_pFirstChild; pChildItem; + pChildItem = pChildItem->m_pNextSibling) { + if (CXFA_ContainerLayoutItem* pContainer = + pChildItem->AsContainerLayoutItem()) { + return pContainer; + } + } + return nullptr; + } + + static CXFA_ContainerLayoutItem* GetNextSibling( + CXFA_ContainerLayoutItem* pLayoutItem) { + for (CXFA_LayoutItem* pChildItem = pLayoutItem->m_pNextSibling; pChildItem; + pChildItem = pChildItem->m_pNextSibling) { + if (CXFA_ContainerLayoutItem* pContainer = + pChildItem->AsContainerLayoutItem()) { + return pContainer; + } + } + return nullptr; + } + + static CXFA_ContainerLayoutItem* GetParent( + CXFA_ContainerLayoutItem* pLayoutItem) { + return static_cast(pLayoutItem->m_pParent); + } +}; + +#endif // XFA_FXFA_PARSER_CXFA_TRAVERSESTRATEGY_CONTENTAREACONTAINERLAYOUTITEM_H_ -- cgit v1.2.3