From 555b41aebe002918c806a8239dcab9ec2c032252 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Mon, 2 Jul 2018 21:56:33 +0000 Subject: Use std::vector in cpdf_expintfunc.cpp Fix some {} along the way. Change-Id: I5277c03328b63e0cead058fc07dc65311d7b97b0 Reviewed-on: https://pdfium-review.googlesource.com/36791 Commit-Queue: Tom Sepez Reviewed-by: Lei Zhang --- core/fpdfapi/page/cpdf_expintfunc.cpp | 30 +++++++++++++----------------- core/fpdfapi/page/cpdf_expintfunc.h | 5 +++-- core/fxge/skia/fx_skia_device.cpp | 12 ++++++------ 3 files changed, 22 insertions(+), 25 deletions(-) diff --git a/core/fpdfapi/page/cpdf_expintfunc.cpp b/core/fpdfapi/page/cpdf_expintfunc.cpp index ac17b282a9..cb83ac2d0b 100644 --- a/core/fpdfapi/page/cpdf_expintfunc.cpp +++ b/core/fpdfapi/page/cpdf_expintfunc.cpp @@ -14,10 +14,7 @@ CPDF_ExpIntFunc::CPDF_ExpIntFunc() : CPDF_Function(Type::kType2ExpotentialInterpolation) {} -CPDF_ExpIntFunc::~CPDF_ExpIntFunc() { - FX_Free(m_pBeginValues); - FX_Free(m_pEndValues); -} +CPDF_ExpIntFunc::~CPDF_ExpIntFunc() = default; bool CPDF_ExpIntFunc::v_Init(const CPDF_Object* pObj, std::set* pVisited) { @@ -25,13 +22,11 @@ bool CPDF_ExpIntFunc::v_Init(const CPDF_Object* pObj, if (!pDict) return false; - { - const CPDF_Number* pExponent = ToNumber(pDict->GetObjectFor("N")); - if (!pExponent) - return false; + const CPDF_Number* pExponent = ToNumber(pDict->GetObjectFor("N")); + if (!pExponent) + return false; - m_Exponent = pExponent->GetNumber(); - } + m_Exponent = pExponent->GetNumber(); const CPDF_Array* pArray0 = pDict->GetArrayFor("C0"); if (pArray0 && m_nOutputs == 0) @@ -40,11 +35,11 @@ bool CPDF_ExpIntFunc::v_Init(const CPDF_Object* pObj, m_nOutputs = 1; const CPDF_Array* pArray1 = pDict->GetArrayFor("C1"); - m_pBeginValues = FX_Alloc2D(float, m_nOutputs, 2); - m_pEndValues = FX_Alloc2D(float, m_nOutputs, 2); + m_BeginValues = pdfium::Vector2D(m_nOutputs, 2); + m_EndValues = pdfium::Vector2D(m_nOutputs, 2); for (uint32_t i = 0; i < m_nOutputs; i++) { - m_pBeginValues[i] = pArray0 ? pArray0->GetFloatAt(i) : 0.0f; - m_pEndValues[i] = pArray1 ? pArray1->GetFloatAt(i) : 1.0f; + m_BeginValues[i] = pArray0 ? pArray0->GetFloatAt(i) : 0.0f; + m_EndValues[i] = pArray1 ? pArray1->GetFloatAt(i) : 1.0f; } FX_SAFE_UINT32 nOutputs = m_nOutputs; @@ -58,11 +53,12 @@ bool CPDF_ExpIntFunc::v_Init(const CPDF_Object* pObj, } bool CPDF_ExpIntFunc::v_Call(const float* inputs, float* results) const { - for (uint32_t i = 0; i < m_nInputs; i++) + for (uint32_t i = 0; i < m_nInputs; i++) { for (uint32_t j = 0; j < m_nOrigOutputs; j++) { results[i * m_nOrigOutputs + j] = - m_pBeginValues[j] + FXSYS_pow(inputs[i], m_Exponent) * - (m_pEndValues[j] - m_pBeginValues[j]); + m_BeginValues[j] + FXSYS_pow(inputs[i], m_Exponent) * + (m_EndValues[j] - m_BeginValues[j]); } + } return true; } diff --git a/core/fpdfapi/page/cpdf_expintfunc.h b/core/fpdfapi/page/cpdf_expintfunc.h index 9ea9f5ccb8..c93cc86cff 100644 --- a/core/fpdfapi/page/cpdf_expintfunc.h +++ b/core/fpdfapi/page/cpdf_expintfunc.h @@ -8,6 +8,7 @@ #define CORE_FPDFAPI_PAGE_CPDF_EXPINTFUNC_H_ #include +#include #include "core/fpdfapi/page/cpdf_function.h" @@ -23,8 +24,8 @@ class CPDF_ExpIntFunc : public CPDF_Function { uint32_t m_nOrigOutputs = 0; float m_Exponent = 0.0f; - float* m_pBeginValues = nullptr; - float* m_pEndValues = nullptr; + std::vector m_BeginValues; + std::vector m_EndValues; }; #endif // CORE_FPDFAPI_PAGE_CPDF_EXPINTFUNC_H_ diff --git a/core/fxge/skia/fx_skia_device.cpp b/core/fxge/skia/fx_skia_device.cpp index adc02fe8a4..87cb178a52 100644 --- a/core/fxge/skia/fx_skia_device.cpp +++ b/core/fxge/skia/fx_skia_device.cpp @@ -363,13 +363,13 @@ bool AddColors(const CPDF_ExpIntFunc* pFunc, SkTDArray* skColors) { if (pFunc->m_nOrigOutputs != 3) return false; skColors->push( - SkColorSetARGB(0xFF, SkUnitScalarClampToByte(pFunc->m_pBeginValues[0]), - SkUnitScalarClampToByte(pFunc->m_pBeginValues[1]), - SkUnitScalarClampToByte(pFunc->m_pBeginValues[2]))); + SkColorSetARGB(0xFF, SkUnitScalarClampToByte(pFunc->m_BeginValues[0]), + SkUnitScalarClampToByte(pFunc->m_BeginValues[1]), + SkUnitScalarClampToByte(pFunc->m_BeginValues[2]))); skColors->push( - SkColorSetARGB(0xFF, SkUnitScalarClampToByte(pFunc->m_pEndValues[0]), - SkUnitScalarClampToByte(pFunc->m_pEndValues[1]), - SkUnitScalarClampToByte(pFunc->m_pEndValues[2]))); + SkColorSetARGB(0xFF, SkUnitScalarClampToByte(pFunc->m_EndValues[0]), + SkUnitScalarClampToByte(pFunc->m_EndValues[1]), + SkUnitScalarClampToByte(pFunc->m_EndValues[2]))); return true; } -- cgit v1.2.3