diff options
author | Lei Zhang <thestig@chromium.org> | 2017-03-15 13:26:37 -0700 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-03-15 21:10:29 +0000 |
commit | a12159b17085796e2b72d2b49e850092e0b4e8b7 (patch) | |
tree | df7a5d149c9bbfe5c2d2ec16631c3dcb6ae9a901 /core/fpdfapi/page/fpdf_page_colors.cpp | |
parent | 59d9416553b293f6df923c2f3ef33def2d51d7b7 (diff) | |
download | pdfium-a12159b17085796e2b72d2b49e850092e0b4e8b7.tar.xz |
Refactor some CPDF_ColorSpace code.
Change-Id: I1e30d68dae3bf70cf3c426f6126d593b7f1c3ba4
Reviewed-on: https://pdfium-review.googlesource.com/2991
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Nicolás Peña <npm@chromium.org>
Diffstat (limited to 'core/fpdfapi/page/fpdf_page_colors.cpp')
-rw-r--r-- | core/fpdfapi/page/fpdf_page_colors.cpp | 47 |
1 files changed, 24 insertions, 23 deletions
diff --git a/core/fpdfapi/page/fpdf_page_colors.cpp b/core/fpdfapi/page/fpdf_page_colors.cpp index 8964a18cdb..061aae807a 100644 --- a/core/fpdfapi/page/fpdf_page_colors.cpp +++ b/core/fpdfapi/page/fpdf_page_colors.cpp @@ -73,49 +73,50 @@ CPDF_DeviceCS::CPDF_DeviceCS(CPDF_Document* pDoc, int family) family == PDFCS_DEVICECMYK); } -bool CPDF_DeviceCS::GetRGB(float* pBuf, float& R, float& G, float& B) const { +CPDF_DeviceCS::~CPDF_DeviceCS() {} + +bool CPDF_DeviceCS::GetRGB(float* pBuf, float* R, float* G, float* B) const { switch (m_Family) { case PDFCS_DEVICEGRAY: - R = NormalizeChannel(*pBuf); - G = R; - B = R; - break; + *R = NormalizeChannel(*pBuf); + *G = *R; + *B = *R; + return true; case PDFCS_DEVICERGB: - R = NormalizeChannel(pBuf[0]); - G = NormalizeChannel(pBuf[1]); - B = NormalizeChannel(pBuf[2]); - break; + *R = NormalizeChannel(pBuf[0]); + *G = NormalizeChannel(pBuf[1]); + *B = NormalizeChannel(pBuf[2]); + return true; case PDFCS_DEVICECMYK: if (m_dwStdConversion) { float k = pBuf[3]; - R = 1.0f - std::min(1.0f, pBuf[0] + k); - G = 1.0f - std::min(1.0f, pBuf[1] + k); - B = 1.0f - std::min(1.0f, pBuf[2] + k); + *R = 1.0f - std::min(1.0f, pBuf[0] + k); + *G = 1.0f - std::min(1.0f, pBuf[1] + k); + *B = 1.0f - std::min(1.0f, pBuf[2] + k); } else { AdobeCMYK_to_sRGB(NormalizeChannel(pBuf[0]), NormalizeChannel(pBuf[1]), NormalizeChannel(pBuf[2]), NormalizeChannel(pBuf[3]), - R, G, B); + *R, *G, *B); } - break; + return true; default: ASSERT(false); return false; } - return true; } bool CPDF_DeviceCS::v_GetCMYK(float* pBuf, - float& c, - float& m, - float& y, - float& k) const { + float* c, + float* m, + float* y, + float* k) const { if (m_Family != PDFCS_DEVICECMYK) return false; - c = pBuf[0]; - m = pBuf[1]; - y = pBuf[2]; - k = pBuf[3]; + *c = pBuf[0]; + *m = pBuf[1]; + *y = pBuf[2]; + *k = pBuf[3]; return true; } |