Home | History | Annotate | Download | only in parser
      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