• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_image.h"
8 
9 #include "xfa/fxfa/parser/xfa_object.h"
10 
CXFA_Image(CXFA_Node * pNode,bool bDefValue)11 CXFA_Image::CXFA_Image(CXFA_Node* pNode, bool bDefValue)
12     : CXFA_Data(pNode), m_bDefValue(bDefValue) {}
13 
GetAspect()14 int32_t CXFA_Image::GetAspect() {
15   return m_pNode->GetEnum(XFA_ATTRIBUTE_Aspect);
16 }
17 
GetContentType(CFX_WideString & wsContentType)18 bool CXFA_Image::GetContentType(CFX_WideString& wsContentType) {
19   return m_pNode->TryCData(XFA_ATTRIBUTE_ContentType, wsContentType);
20 }
21 
GetHref(CFX_WideString & wsHref)22 bool CXFA_Image::GetHref(CFX_WideString& wsHref) {
23   if (m_bDefValue)
24     return m_pNode->TryCData(XFA_ATTRIBUTE_Href, wsHref);
25   return m_pNode->GetAttribute(L"href", wsHref);
26 }
27 
GetTransferEncoding()28 int32_t CXFA_Image::GetTransferEncoding() {
29   if (m_bDefValue)
30     return m_pNode->GetEnum(XFA_ATTRIBUTE_TransferEncoding);
31   return XFA_ATTRIBUTEENUM_Base64;
32 }
33 
GetContent(CFX_WideString & wsText)34 bool CXFA_Image::GetContent(CFX_WideString& wsText) {
35   return m_pNode->TryContent(wsText);
36 }
37 
SetContentType(const CFX_WideString & wsContentType)38 bool CXFA_Image::SetContentType(const CFX_WideString& wsContentType) {
39   return m_pNode->SetCData(XFA_ATTRIBUTE_ContentType, wsContentType);
40 }
41 
SetHref(const CFX_WideString & wsHref)42 bool CXFA_Image::SetHref(const CFX_WideString& wsHref) {
43   if (m_bDefValue)
44     return m_pNode->SetCData(XFA_ATTRIBUTE_Href, wsHref);
45   return m_pNode->SetAttribute(XFA_ATTRIBUTE_Href, wsHref.AsStringC());
46 }
47 
SetTransferEncoding(int32_t iTransferEncoding)48 bool CXFA_Image::SetTransferEncoding(int32_t iTransferEncoding) {
49   if (m_bDefValue) {
50     return m_pNode->SetEnum(XFA_ATTRIBUTE_TransferEncoding,
51                             (XFA_ATTRIBUTEENUM)iTransferEncoding);
52   }
53   return true;
54 }
55