diff options
Diffstat (limited to 'core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp')
-rw-r--r-- | core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp index 198054ef7e..101a197968 100644 --- a/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp +++ b/core/src/fpdfapi/fpdf_page/fpdf_page_colors.cpp @@ -103,15 +103,14 @@ FX_BOOL CPDF_DeviceCS::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FLOAT B pBuf[1] = G; pBuf[2] = B; return TRUE; - } - if (m_Family == PDFCS_DEVICEGRAY) { + } else if (m_Family == PDFCS_DEVICEGRAY) { if (R == G && R == B) { *pBuf = R; return TRUE; + } else { + return FALSE; } - return FALSE; - } - if (m_Family == PDFCS_DEVICECMYK) { + } else if (m_Family == PDFCS_DEVICECMYK) { sRGB_to_AdobeCMYK(R, G, B, pBuf[0], pBuf[1], pBuf[2], pBuf[3]); return TRUE; } @@ -122,8 +121,9 @@ FX_BOOL CPDF_DeviceCS::v_SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m, FX_FLOA if (m_Family == PDFCS_DEVICERGB) { AdobeCMYK_to_sRGB(c, m, y, k, pBuf[0], pBuf[1], pBuf[2]); return TRUE; - } - if (m_Family == PDFCS_DEVICECMYK) { + } else if (m_Family == PDFCS_DEVICEGRAY) { + return FALSE; + } else if (m_Family == PDFCS_DEVICECMYK) { pBuf[0] = c; pBuf[1] = m; pBuf[2] = y; @@ -314,8 +314,9 @@ FX_BOOL CPDF_CalGray::SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, FX_FLOAT B) if (R == G && R == B) { *pBuf = R; return TRUE; + } else { + return FALSE; } - return FALSE; } void CPDF_CalGray::TranslateImageLine(uint8_t* pDestBuf, const uint8_t* pSrcBuf, int pixels, int image_width, int image_height, FX_BOOL bTransMask) const { @@ -992,9 +993,10 @@ FX_BOOL CPDF_SeparationCS::GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_F if (m_pAltCS) { m_pAltCS->GetRGB(results, R, G, B); return TRUE; + } else { + R = G = B = 0; + return FALSE; } - R = G = B = 0; - return FALSE; } void CPDF_SeparationCS::EnableStdConversion(FX_BOOL bEnabled) { |