summaryrefslogtreecommitdiff
path: root/xfa/fxfa/parser/cxfa_contentlayoutitem.h
blob: c7c440f9c29c636116fb0e738e05de98db300f97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// 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_CONTENTLAYOUTITEM_H_
#define XFA_FXFA_PARSER_CXFA_CONTENTLAYOUTITEM_H_

#include "xfa/fxfa/parser/cxfa_layoutitem.h"

class CXFA_ContentLayoutItem : public CXFA_LayoutItem {
 public:
  explicit CXFA_ContentLayoutItem(CXFA_Node* pNode);
  ~CXFA_ContentLayoutItem() override;

  CXFA_ContentLayoutItem* GetFirst();
  CXFA_ContentLayoutItem* GetLast();
  CXFA_ContentLayoutItem* GetPrev() const { return m_pPrev; }
  CXFA_ContentLayoutItem* GetNext() const { return m_pNext; }

  CFX_RectF GetRect(bool bRelative) const;
  int32_t GetIndex() const;
  int32_t GetCount() const;

  CXFA_ContentLayoutItem* m_pPrev;
  CXFA_ContentLayoutItem* m_pNext;
  CFX_PointF m_sPos;
  CFX_SizeF m_sSize;
  mutable uint32_t m_dwStatus;
};

inline CXFA_ContentLayoutItem* ToContentLayoutItem(CXFA_LayoutItem* pItem) {
  return pItem ? pItem->AsContentLayoutItem() : nullptr;
}

#endif  // XFA_FXFA_PARSER_CXFA_CONTENTLAYOUTITEM_H_