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
11XFA_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
19bool 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
27CXFA_Arc CXFA_Value::GetArc() {
28  return CXFA_Arc(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
29                          : nullptr);
30}
31
32CXFA_Line CXFA_Value::GetLine() {
33  return CXFA_Line(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
34                           : nullptr);
35}
36
37CXFA_Rectangle CXFA_Value::GetRectangle() {
38  return CXFA_Rectangle(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
39                                : nullptr);
40}
41
42CXFA_Text CXFA_Value::GetText() {
43  return CXFA_Text(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
44                           : nullptr);
45}
46
47CXFA_ExData CXFA_Value::GetExData() {
48  return CXFA_ExData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)
49                             : nullptr);
50}
51
52CXFA_Image CXFA_Value::GetImage() {
53  return CXFA_Image(
54      m_pNode ? (m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)) : nullptr,
55      true);
56}
57