1 // Copyright 2016 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 #include "xfa/fxfa/parser/cxfa_caption.h"
8 
9 #include "xfa/fxfa/parser/cxfa_measurement.h"
10 #include "xfa/fxfa/parser/xfa_object.h"
11 
CXFA_Caption(CXFA_Node * pNode)12 CXFA_Caption::CXFA_Caption(CXFA_Node* pNode) : CXFA_Data(pNode) {}
13 
GetPresence()14 int32_t CXFA_Caption::GetPresence() {
15   XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Visible;
16   m_pNode->TryEnum(XFA_ATTRIBUTE_Presence, eAttr);
17   return eAttr;
18 }
19 
GetPlacementType()20 int32_t CXFA_Caption::GetPlacementType() {
21   XFA_ATTRIBUTEENUM eAttr = XFA_ATTRIBUTEENUM_Left;
22   m_pNode->TryEnum(XFA_ATTRIBUTE_Placement, eAttr);
23   return eAttr;
24 }
25 
GetReserve()26 FX_FLOAT CXFA_Caption::GetReserve() {
27   CXFA_Measurement ms;
28   m_pNode->TryMeasure(XFA_ATTRIBUTE_Reserve, ms);
29   return ms.ToUnit(XFA_UNIT_Pt);
30 }
31 
GetMargin()32 CXFA_Margin CXFA_Caption::GetMargin() {
33   return CXFA_Margin(m_pNode ? m_pNode->GetChild(0, XFA_Element::Margin)
34                              : nullptr);
35 }
36 
GetFont()37 CXFA_Font CXFA_Caption::GetFont() {
38   return CXFA_Font(m_pNode ? m_pNode->GetChild(0, XFA_Element::Font) : nullptr);
39 }
40 
GetValue()41 CXFA_Value CXFA_Caption::GetValue() {
42   return CXFA_Value(m_pNode ? m_pNode->GetChild(0, XFA_Element::Value)
43                             : nullptr);
44 }
45