From 64e16079bb87085fdff5d6268267fd01eacbc5d9 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 21 Nov 2017 21:52:50 +0000 Subject: Cleanup CXFA_ImageData This CL removes the second constructor parameter which is always true and removes all related conditionals. The methods have been changed to const and return instead of using out parameters. Change-Id: Id6d2aa533a212e961e3b8169eef57b7e868d503e Reviewed-on: https://pdfium-review.googlesource.com/19010 Commit-Queue: dsinclair Reviewed-by: Henrique Nakashima --- xfa/fxfa/cxfa_ffimage.cpp | 6 +-- xfa/fxfa/cxfa_ffimageedit.cpp | 2 +- xfa/fxfa/cxfa_ffwidget.cpp | 24 ++++----- xfa/fxfa/cxfa_ffwidget.h | 2 +- xfa/fxfa/cxfa_widgetacc.cpp | 6 +-- xfa/fxfa/parser/cxfa_imagedata.cpp | 67 ++++++------------------- xfa/fxfa/parser/cxfa_imagedata.h | 15 +++--- xfa/fxfa/parser/cxfa_valuedata.cpp | 5 +- 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& 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 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 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& 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 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 ret = - m_pNode->JSNode()->TryCData(XFA_Attribute::Href, true); - if (!ret) - return false; - - wsHref = *ret; - return true; - } - pdfium::Optional 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( - m_pNode->JSNode()->GetEnum(XFA_Attribute::TransferEncoding)); - } - return XFA_ATTRIBUTEENUM_Base64; +XFA_ATTRIBUTEENUM CXFA_ImageData::GetTransferEncoding() const { + return static_cast( + m_pNode->JSNode()->GetEnum(XFA_Attribute::TransferEncoding)); } -bool CXFA_ImageData::GetContent(WideString& wsText) { - pdfium::Optional 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(pDataNode->GetXMLMappingNode()); -- cgit v1.2.3