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 11 CXFA_Image::CXFA_Image(CXFA_Node* pNode, bool bDefValue) 12 : CXFA_Data(pNode), m_bDefValue(bDefValue) {} 13 14 int32_t CXFA_Image::GetAspect() { 15 return m_pNode->GetEnum(XFA_ATTRIBUTE_Aspect); 16 } 17 18 bool CXFA_Image::GetContentType(CFX_WideString& wsContentType) { 19 return m_pNode->TryCData(XFA_ATTRIBUTE_ContentType, wsContentType); 20 } 21 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 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 34 bool CXFA_Image::GetContent(CFX_WideString& wsText) { 35 return m_pNode->TryContent(wsText); 36 } 37 38 bool CXFA_Image::SetContentType(const CFX_WideString& wsContentType) { 39 return m_pNode->SetCData(XFA_ATTRIBUTE_ContentType, wsContentType); 40 } 41 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 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