diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2017-03-21 16:24:57 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-03-22 00:47:01 +0000 |
commit | 55d1d0191ea8316df32858d8cc62fb7c620e8613 (patch) | |
tree | cafa0777ebfe8a5b2b7e8e589caf77e3249292f3 /core/fpdfapi/render/cpdf_dibsource.cpp | |
parent | 52f69b39403b1ac0df0fdf45698e80e60c0f2def (diff) | |
download | pdfium-55d1d0191ea8316df32858d8cc62fb7c620e8613.tar.xz |
Remove CFX_FixedBufGrow
This Cl replaces the CFX_FixedBufGrow class with std::vector.
Change-Id: I85c85b7a8de4794840b561e09841bb464cfa9dfe
Reviewed-on: https://pdfium-review.googlesource.com/3138
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: dsinclair <dsinclair@chromium.org>
Diffstat (limited to 'core/fpdfapi/render/cpdf_dibsource.cpp')
-rw-r--r-- | core/fpdfapi/render/cpdf_dibsource.cpp | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/core/fpdfapi/render/cpdf_dibsource.cpp b/core/fpdfapi/render/cpdf_dibsource.cpp index 899a783c47..27f59c05f1 100644 --- a/core/fpdfapi/render/cpdf_dibsource.cpp +++ b/core/fpdfapi/render/cpdf_dibsource.cpp @@ -795,8 +795,7 @@ void CPDF_DIBSource::LoadPalette() { m_bpc == 8 && m_bDefaultDecode) { } else { int palette_count = 1 << (m_bpc * m_nComponents); - CFX_FixedBufGrow<float, 16> color_values(m_nComponents); - float* color_value = color_values; + std::vector<float> color_value(std::max(16U, m_nComponents)); for (int i = 0; i < palette_count; i++) { int color_data = i; for (uint32_t j = 0; j < m_nComponents; j++) { @@ -811,11 +810,11 @@ void CPDF_DIBSource::LoadPalette() { int nComponents = m_pColorSpace->CountComponents(); std::vector<float> temp_buf(nComponents); for (int k = 0; k < nComponents; k++) { - temp_buf[k] = *color_value; + temp_buf[k] = color_value[0]; } m_pColorSpace->GetRGB(temp_buf.data(), &R, &G, &B); } else { - m_pColorSpace->GetRGB(color_value, &R, &G, &B); + m_pColorSpace->GetRGB(color_value.data(), &R, &G, &B); } SetPaletteArgb(i, ArgbEncode(255, FXSYS_round(R * 255), FXSYS_round(G * 255), FXSYS_round(B * 255))); @@ -915,8 +914,7 @@ void CPDF_DIBSource::TranslateScanline24bpp(uint8_t* dest_scan, } } - CFX_FixedBufGrow<float, 16> color_values1(m_nComponents); - float* color_values = color_values1; + std::vector<float> color_values(std::max(16U, m_nComponents)); float R = 0.0f; float G = 0.0f; float B = 0.0f; @@ -935,7 +933,7 @@ void CPDF_DIBSource::TranslateScanline24bpp(uint8_t* dest_scan, G = (1.0f - color_values[1]) * k; B = (1.0f - color_values[2]) * k; } else { - m_pColorSpace->GetRGB(color_values, &R, &G, &B); + m_pColorSpace->GetRGB(color_values.data(), &R, &G, &B); } R = ClampValue(R, 1.0f); G = ClampValue(G, 1.0f); @@ -961,7 +959,7 @@ void CPDF_DIBSource::TranslateScanline24bpp(uint8_t* dest_scan, G = (1.0f - color_values[1]) * k; B = (1.0f - color_values[2]) * k; } else { - m_pColorSpace->GetRGB(color_values, &R, &G, &B); + m_pColorSpace->GetRGB(color_values.data(), &R, &G, &B); } R = ClampValue(R, 1.0f); G = ClampValue(G, 1.0f); @@ -1344,7 +1342,7 @@ void CPDF_DIBSource::DownSampleScanline32Bit(int orig_Bpp, if (src_x == last_src_x) { argb = last_argb; } else { - CFX_FixedBufGrow<uint8_t, 128> extracted_components(m_nComponents); + std::vector<uint8_t> extracted_components(std::max(128U, m_nComponents)); const uint8_t* pSrcPixel = nullptr; if (m_bpc % 8 != 0) { // No need to check for 32-bit overflow, as |src_x| is bounded by @@ -1358,13 +1356,13 @@ void CPDF_DIBSource::DownSampleScanline32Bit(int orig_Bpp, GetBits8(pSrcPixel, src_bit_pos, m_bpc) * unit_To8Bpc); src_bit_pos += m_bpc; } - pSrcPixel = extracted_components; + pSrcPixel = extracted_components.data(); } else { pSrcPixel = pSrcLine + src_x * orig_Bpp; if (m_bpc == 16) { for (uint32_t j = 0; j < m_nComponents; ++j) extracted_components[j] = pSrcPixel[j * 2]; - pSrcPixel = extracted_components; + pSrcPixel = extracted_components.data(); } } @@ -1385,8 +1383,8 @@ void CPDF_DIBSource::DownSampleScanline32Bit(int orig_Bpp, extracted_components[j] = color_value > 255 ? 255 : (color_value < 0 ? 0 : color_value); } - m_pColorSpace->TranslateImageLine(color, extracted_components, 1, 0, - 0, bTransMask); + m_pColorSpace->TranslateImageLine(color, extracted_components.data(), + 1, 0, 0, bTransMask); } argb = FXARGB_MAKE(0xFF, color[2], color[1], color[0]); } else { |