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_value.h"
8 
9 #include "xfa/fxfa/parser/xfa_object.h"
10 
GetChildValueClassID()11 XFA_Element CXFA_Value::GetChildValueClassID() {
12   if (!m_pNode)
13     return XFA_Element::Unknown;
14   if (CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild))
15     return pNode->GetElementType();
16   return XFA_Element::Unknown;
17 }
18 
GetChildValueContent(CFX_WideString & wsContent)19 bool CXFA_Value::GetChildValueContent(CFX_WideString& wsContent) {
20   if (!m_pNode)
21     return false;
22   if (CXFA_Node* pNode = m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild))
23     return pNode->TryContent(wsContent);
24   return false;
25 }
26 
GetArc()27 CXFA_Arc CXFA_Value::GetArc() {
28   return CXFA_Arc(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
29                           : nullptr);
30 }
31 
GetLine()32 CXFA_Line CXFA_Value::GetLine() {
33   return CXFA_Line(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
34                            : nullptr);
35 }
36 
GetRectangle()37 CXFA_Rectangle CXFA_Value::GetRectangle() {
38   return CXFA_Rectangle(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
39                                 : nullptr);
40 }
41 
GetText()42 CXFA_Text CXFA_Value::GetText() {
43   return CXFA_Text(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
44                            : nullptr);
45 }
46 
GetExData()47 CXFA_ExData CXFA_Value::GetExData() {
48   return CXFA_ExData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
49                              : nullptr);
50 }
51 
GetImage()52 CXFA_Image CXFA_Value::GetImage() {
53   return CXFA_Image(
54       m_pNode ? (m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)) : nullptr,
55       true);
56 }
57