diff options
author | Nicolas Pena <npm@chromium.org> | 2017-07-12 11:04:12 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-07-12 18:26:43 +0000 |
commit | 58bf3de718e510648ee136c887be5b2d577644a7 (patch) | |
tree | fceba4f29df5fc6ecf4da1cf41d6bae0cdda05d2 /core/fpdfapi/page | |
parent | 071f5eda0399d6f260cc1b67beffcdaa315a9af7 (diff) | |
download | pdfium-58bf3de718e510648ee136c887be5b2d577644a7.tar.xz |
Cleanup ICC code part 1
This CL switches void* to CLcmsCmm*, simplifies the ownership and
destruction of CLcmsCmm, and reduces unnecessary function calling in
fx_codec_icc.cpp.
Change-Id: Ifdbf59dcdaede497d1684b161dd066726cf08ee3
Reviewed-on: https://pdfium-review.googlesource.com/7590
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'core/fpdfapi/page')
-rw-r--r-- | core/fpdfapi/page/cpdf_iccprofile.cpp | 10 | ||||
-rw-r--r-- | core/fpdfapi/page/cpdf_iccprofile.h | 9 |
2 files changed, 9 insertions, 10 deletions
diff --git a/core/fpdfapi/page/cpdf_iccprofile.cpp b/core/fpdfapi/page/cpdf_iccprofile.cpp index afb505a7e6..0fa4be4b5a 100644 --- a/core/fpdfapi/page/cpdf_iccprofile.cpp +++ b/core/fpdfapi/page/cpdf_iccprofile.cpp @@ -8,7 +8,6 @@ #include "core/fpdfapi/cpdf_modulemgr.h" #include "core/fpdfapi/parser/cpdf_stream.h" -#include "core/fxcodec/codec/ccodec_iccmodule.h" namespace { @@ -29,12 +28,9 @@ CPDF_IccProfile::CPDF_IccProfile(CPDF_Stream* pStream, uint32_t nSrcComps = 0; auto* pIccModule = CPDF_ModuleMgr::Get()->GetIccModule(); - m_pTransform = pIccModule->CreateTransform_sRGB(pData, dwSize, nSrcComps); - if (m_pTransform) + m_Transform = pIccModule->CreateTransform_sRGB(pData, dwSize, &nSrcComps); + if (m_Transform) m_nSrcComponents = nSrcComps; } -CPDF_IccProfile::~CPDF_IccProfile() { - if (m_pTransform) - CPDF_ModuleMgr::Get()->GetIccModule()->DestroyTransform(m_pTransform); -} +CPDF_IccProfile::~CPDF_IccProfile() {} diff --git a/core/fpdfapi/page/cpdf_iccprofile.h b/core/fpdfapi/page/cpdf_iccprofile.h index a0cf744b9c..156fb595dc 100644 --- a/core/fpdfapi/page/cpdf_iccprofile.h +++ b/core/fpdfapi/page/cpdf_iccprofile.h @@ -7,6 +7,9 @@ #ifndef CORE_FPDFAPI_PAGE_CPDF_ICCPROFILE_H_ #define CORE_FPDFAPI_PAGE_CPDF_ICCPROFILE_H_ +#include <memory> + +#include "core/fxcodec/codec/ccodec_iccmodule.h" #include "core/fxcrt/cfx_retain_ptr.h" #include "core/fxcrt/cfx_unowned_ptr.h" @@ -20,8 +23,8 @@ class CPDF_IccProfile : public CFX_Retainable { CPDF_Stream* GetStream() const { return m_pStream.Get(); } bool IsValid() const { return IsSRGB() || IsSupported(); } bool IsSRGB() const { return m_bsRGB; } - bool IsSupported() const { return !!m_pTransform; } - void* transform() { return m_pTransform; } + bool IsSupported() const { return !!m_Transform; } + CLcmsCmm* transform() { return m_Transform.get(); } uint32_t GetComponents() const { return m_nSrcComponents; } private: @@ -30,7 +33,7 @@ class CPDF_IccProfile : public CFX_Retainable { const bool m_bsRGB; CFX_UnownedPtr<CPDF_Stream> const m_pStream; - void* m_pTransform = nullptr; + std::unique_ptr<CLcmsCmm> m_Transform; uint32_t m_nSrcComponents = 0; }; |