diff options
-rw-r--r-- | xfa/fxfa/cxfa_ffimage.cpp | 6 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffimageedit.cpp | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffwidget.cpp | 24 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_ffwidget.h | 2 | ||||
-rw-r--r-- | xfa/fxfa/cxfa_widgetacc.cpp | 6 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_imagedata.cpp | 67 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_imagedata.h | 15 | ||||
-rw-r--r-- | xfa/fxfa/parser/cxfa_valuedata.cpp | 5 | ||||
-rw-r--r-- | xfa/fxfa/parser/xfa_document_datamerger_imp.cpp | 6 |
9 files changed, 47 insertions, 86 deletions
diff --git a/xfa/fxfa/cxfa_ffimage.cpp b/xfa/fxfa/cxfa_ffimage.cpp index e7dc715eb7..063d3aef5b 100644 --- a/xfa/fxfa/cxfa_ffimage.cpp +++ b/xfa/fxfa/cxfa_ffimage.cpp @@ -61,10 +61,10 @@ void CXFA_FFImage::RenderWidget(CXFA_Graphics* pGS, iVertAlign = paraData.GetVerticalAlign(); } - int32_t iAspect = m_pDataAcc->GetFormValueData().GetImageData().GetAspect(); int32_t iImageXDpi = 0; int32_t iImageYDpi = 0; m_pDataAcc->GetImageDpi(iImageXDpi, iImageYDpi); - XFA_DrawImage(pGS, rtImage, mtRotate, pDIBitmap, iAspect, iImageXDpi, - iImageYDpi, iHorzAlign, iVertAlign); + XFA_DrawImage(pGS, rtImage, mtRotate, pDIBitmap, + m_pDataAcc->GetFormValueData().GetImageData().GetAspect(), + iImageXDpi, iImageYDpi, iHorzAlign, iVertAlign); } diff --git a/xfa/fxfa/cxfa_ffimageedit.cpp b/xfa/fxfa/cxfa_ffimageedit.cpp index 38ece830d7..1f3be60c32 100644 --- a/xfa/fxfa/cxfa_ffimageedit.cpp +++ b/xfa/fxfa/cxfa_ffimageedit.cpp @@ -76,7 +76,7 @@ void CXFA_FFImageEdit::RenderWidget(CXFA_Graphics* pGS, iVertAlign = paraData.GetVerticalAlign(); } - int32_t iAspect = XFA_ATTRIBUTEENUM_Fit; + XFA_ATTRIBUTEENUM iAspect = XFA_ATTRIBUTEENUM_Fit; CXFA_ValueData valueData = m_pDataAcc->GetFormValueData(); if (valueData.HasValidNode()) { CXFA_ImageData imageData = valueData.GetImageData(); diff --git a/xfa/fxfa/cxfa_ffwidget.cpp b/xfa/fxfa/cxfa_ffwidget.cpp index a593ff45a2..c66d705623 100644 --- a/xfa/fxfa/cxfa_ffwidget.cpp +++ b/xfa/fxfa/cxfa_ffwidget.cpp @@ -1674,7 +1674,7 @@ void XFA_DrawImage(CXFA_Graphics* pGS, const CFX_RectF& rtImage, const CFX_Matrix& matrix, const RetainPtr<CFX_DIBitmap>& pDIBitmap, - int32_t iAspect, + XFA_ATTRIBUTEENUM iAspect, int32_t iImageXDpi, int32_t iImageYDpi, int32_t iHorzAlign, @@ -1695,14 +1695,14 @@ void XFA_DrawImage(CXFA_Graphics* pGS, f1 = std::min(f1, f2); rtFit.height = rtFit.height * f1; rtFit.width = rtFit.width * f1; - } break; - case XFA_ATTRIBUTEENUM_Actual: break; + } case XFA_ATTRIBUTEENUM_Height: { float f1 = rtImage.height / rtFit.height; rtFit.height = rtImage.height; rtFit.width = f1 * rtFit.width; - } break; + break; + } case XFA_ATTRIBUTEENUM_None: rtFit.height = rtImage.height; rtFit.width = rtImage.width; @@ -1711,7 +1711,11 @@ void XFA_DrawImage(CXFA_Graphics* pGS, float f1 = rtImage.width / rtFit.width; rtFit.width = rtImage.width; rtFit.height = rtFit.height * f1; - } break; + break; + } + case XFA_ATTRIBUTEENUM_Actual: + default: + break; } if (iHorzAlign == XFA_ATTRIBUTEENUM_Center) { rtFit.left += (rtImage.width - rtFit.width) / 2; @@ -1879,16 +1883,12 @@ RetainPtr<CFX_DIBitmap> XFA_LoadImageData(CXFA_FFDoc* pDoc, bool& bNameImage, int32_t& iImageXDpi, int32_t& iImageYDpi) { - WideString wsHref; - WideString wsImage; - pImageData->GetHref(wsHref); - pImageData->GetContent(wsImage); + WideString wsHref = pImageData->GetHref(); + WideString wsImage = pImageData->GetContent(); if (wsHref.IsEmpty() && wsImage.IsEmpty()) return nullptr; - WideString wsContentType; - pImageData->GetContentType(wsContentType); - FXCODEC_IMAGE_TYPE type = XFA_GetImageType(wsContentType); + FXCODEC_IMAGE_TYPE type = XFA_GetImageType(pImageData->GetContentType()); ByteString bsContent; uint8_t* pImageBuffer = nullptr; RetainPtr<IFX_SeekableReadStream> pImageFileRead; diff --git a/xfa/fxfa/cxfa_ffwidget.h b/xfa/fxfa/cxfa_ffwidget.h index 2c20f1d33b..3de3d49293 100644 --- a/xfa/fxfa/cxfa_ffwidget.h +++ b/xfa/fxfa/cxfa_ffwidget.h @@ -42,7 +42,7 @@ void XFA_DrawImage(CXFA_Graphics* pGS, const CFX_RectF& rtImage, const CFX_Matrix& matrix, const RetainPtr<CFX_DIBitmap>& pDIBitmap, - int32_t iAspect, + XFA_ATTRIBUTEENUM iAspect, int32_t iImageXDpi, int32_t iImageYDpi, int32_t iHorzAlign = XFA_ATTRIBUTEENUM_Left, diff --git a/xfa/fxfa/cxfa_widgetacc.cpp b/xfa/fxfa/cxfa_widgetacc.cpp index 5bff539366..26ba231533 100644 --- a/xfa/fxfa/cxfa_widgetacc.cpp +++ b/xfa/fxfa/cxfa_widgetacc.cpp @@ -176,9 +176,9 @@ void CXFA_WidgetAcc::ResetData() { CXFA_ImageData imageData = imageValueData.GetImageData(); WideString wsContentType, wsHref; if (imageData.HasValidNode()) { - imageData.GetContent(wsValue); - imageData.GetContentType(wsContentType); - imageData.GetHref(wsHref); + wsValue = imageData.GetContent(); + wsContentType = imageData.GetContentType(); + wsHref = imageData.GetHref(); } SetImageEdit(wsContentType, wsHref, wsValue); break; diff --git a/xfa/fxfa/parser/cxfa_imagedata.cpp b/xfa/fxfa/parser/cxfa_imagedata.cpp index 145d3586a5..dcf5563ad5 100644 --- a/xfa/fxfa/parser/cxfa_imagedata.cpp +++ b/xfa/fxfa/parser/cxfa_imagedata.cpp @@ -8,57 +8,29 @@ #include "xfa/fxfa/parser/cxfa_node.h" -CXFA_ImageData::CXFA_ImageData(CXFA_Node* pNode, bool bDefValue) - : CXFA_DataData(pNode), m_bDefValue(bDefValue) {} +CXFA_ImageData::CXFA_ImageData(CXFA_Node* pNode) : CXFA_DataData(pNode) {} -int32_t CXFA_ImageData::GetAspect() { +XFA_ATTRIBUTEENUM CXFA_ImageData::GetAspect() const { return m_pNode->JSNode()->GetEnum(XFA_Attribute::Aspect); } -bool CXFA_ImageData::GetContentType(WideString& wsContentType) { - pdfium::Optional<WideString> content = - m_pNode->JSNode()->TryCData(XFA_Attribute::ContentType, true); - if (!content) - return false; - - wsContentType = *content; - return true; +WideString CXFA_ImageData::GetContentType() const { + return m_pNode->JSNode() + ->TryCData(XFA_Attribute::ContentType, true) + .value_or(L""); } -bool CXFA_ImageData::GetHref(WideString& wsHref) { - if (m_bDefValue) { - pdfium::Optional<WideString> ret = - m_pNode->JSNode()->TryCData(XFA_Attribute::Href, true); - if (!ret) - return false; - - wsHref = *ret; - return true; - } - pdfium::Optional<WideString> ret = - m_pNode->JSNode()->TryAttribute(XFA_Attribute::Href, true); - if (!ret) - return false; - - wsHref = *ret; - return true; +WideString CXFA_ImageData::GetHref() const { + return m_pNode->JSNode()->TryCData(XFA_Attribute::Href, true).value_or(L""); } -XFA_ATTRIBUTEENUM CXFA_ImageData::GetTransferEncoding() { - if (m_bDefValue) { - return static_cast<XFA_ATTRIBUTEENUM>( - m_pNode->JSNode()->GetEnum(XFA_Attribute::TransferEncoding)); - } - return XFA_ATTRIBUTEENUM_Base64; +XFA_ATTRIBUTEENUM CXFA_ImageData::GetTransferEncoding() const { + return static_cast<XFA_ATTRIBUTEENUM>( + m_pNode->JSNode()->GetEnum(XFA_Attribute::TransferEncoding)); } -bool CXFA_ImageData::GetContent(WideString& wsText) { - pdfium::Optional<WideString> ret = m_pNode->JSNode()->TryContent(false, true); - if (!ret) - return false; - - wsText = *ret; - return true; +WideString CXFA_ImageData::GetContent() const { + return m_pNode->JSNode()->TryContent(false, true).value_or(L""); } void CXFA_ImageData::SetContentType(const WideString& wsContentType) { @@ -67,17 +39,10 @@ void CXFA_ImageData::SetContentType(const WideString& wsContentType) { } void CXFA_ImageData::SetHref(const WideString& wsHref) { - if (m_bDefValue) { - m_pNode->JSNode()->SetCData(XFA_Attribute::Href, wsHref, false, false); - return; - } - m_pNode->JSNode()->SetAttribute(XFA_Attribute::Href, wsHref.AsStringView(), - false); + m_pNode->JSNode()->SetCData(XFA_Attribute::Href, wsHref, false, false); } void CXFA_ImageData::SetTransferEncoding(XFA_ATTRIBUTEENUM iTransferEncoding) { - if (m_bDefValue) { - m_pNode->JSNode()->SetEnum(XFA_Attribute::TransferEncoding, - iTransferEncoding, false); - } + m_pNode->JSNode()->SetEnum(XFA_Attribute::TransferEncoding, iTransferEncoding, + false); } diff --git a/xfa/fxfa/parser/cxfa_imagedata.h b/xfa/fxfa/parser/cxfa_imagedata.h index b8e5141cd7..445d3d4fba 100644 --- a/xfa/fxfa/parser/cxfa_imagedata.h +++ b/xfa/fxfa/parser/cxfa_imagedata.h @@ -15,22 +15,19 @@ class CXFA_Node; class CXFA_ImageData : public CXFA_DataData { public: - CXFA_ImageData(CXFA_Node* pNode, bool bDefValue); + explicit CXFA_ImageData(CXFA_Node* pNode); - int32_t GetAspect(); - bool GetContent(WideString& wsText); + XFA_ATTRIBUTEENUM GetAspect() const; + WideString GetContent() const; - bool GetHref(WideString& wsHref); + WideString GetHref() const; void SetHref(const WideString& wsHref); - XFA_ATTRIBUTEENUM GetTransferEncoding(); + XFA_ATTRIBUTEENUM GetTransferEncoding() const; void SetTransferEncoding(XFA_ATTRIBUTEENUM iTransferEncoding); - bool GetContentType(WideString& wsContentType); + WideString GetContentType() const; void SetContentType(const WideString& wsContentType); - - private: - bool m_bDefValue; }; #endif // XFA_FXFA_PARSER_CXFA_IMAGEDATA_H_ diff --git a/xfa/fxfa/parser/cxfa_valuedata.cpp b/xfa/fxfa/parser/cxfa_valuedata.cpp index e44a76dbcc..1ca051e637 100644 --- a/xfa/fxfa/parser/cxfa_valuedata.cpp +++ b/xfa/fxfa/parser/cxfa_valuedata.cpp @@ -59,7 +59,6 @@ CXFA_ExDataData CXFA_ValueData::GetExData() { } CXFA_ImageData CXFA_ValueData::GetImageData() { - return CXFA_ImageData( - m_pNode ? (m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild)) : nullptr, - true); + return CXFA_ImageData(m_pNode ? m_pNode->GetNodeItem(XFA_NODEITEM_FirstChild) + : nullptr); } diff --git a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp index 9e33b72936..b7b3c0c12e 100644 --- a/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp +++ b/xfa/fxfa/parser/xfa_document_datamerger_imp.cpp @@ -142,9 +142,9 @@ void CreateDataBinding(CXFA_Node* pFormNode, WideString wsContentType; WideString wsHref; if (imageData.HasValidNode()) { - imageData.GetContent(wsValue); - imageData.GetContentType(wsContentType); - imageData.GetHref(wsHref); + wsValue = imageData.GetContent(); + wsContentType = imageData.GetContentType(); + wsHref = imageData.GetHref(); } CFX_XMLElement* pXMLDataElement = static_cast<CFX_XMLElement*>(pDataNode->GetXMLMappingNode()); |