| Index: core/fpdfapi/fpdf_page/cpdf_color.cpp
|
| diff --git a/core/fpdfapi/fpdf_page/cpdf_color.cpp b/core/fpdfapi/fpdf_page/cpdf_color.cpp
|
| index 5536f71f9f08bf4a45426d91e3cc3dc8dd83492d..e6fe3e88e9a0b1acddd09d84599802d373c8f4aa 100644
|
| --- a/core/fpdfapi/fpdf_page/cpdf_color.cpp
|
| +++ b/core/fpdfapi/fpdf_page/cpdf_color.cpp
|
| @@ -11,24 +11,17 @@
|
| #include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
|
| #include "core/fxcrt/include/fx_system.h"
|
|
|
| -CPDF_Color::CPDF_Color(int family) {
|
| - m_pCS = CPDF_ColorSpace::GetStockCS(family);
|
| - int nComps = 3;
|
| - if (family == PDFCS_DEVICEGRAY)
|
| - nComps = 1;
|
| - else if (family == PDFCS_DEVICECMYK)
|
| - nComps = 4;
|
| -
|
| - m_pBuffer = FX_Alloc(FX_FLOAT, nComps);
|
| - for (int i = 0; i < nComps; i++)
|
| - m_pBuffer[i] = 0;
|
| -}
|
| +CPDF_Color::CPDF_Color() : m_pCS(nullptr), m_pBuffer(nullptr) {}
|
|
|
| CPDF_Color::~CPDF_Color() {
|
| ReleaseBuffer();
|
| ReleaseColorSpace();
|
| }
|
|
|
| +bool CPDF_Color::IsPattern() const {
|
| + return m_pCS && m_pCS->GetFamily() == PDFCS_PATTERN;
|
| +}
|
| +
|
| void CPDF_Color::ReleaseBuffer() {
|
| if (!m_pBuffer)
|
| return;
|
| @@ -84,7 +77,7 @@ void CPDF_Color::SetValue(CPDF_Pattern* pPattern, FX_FLOAT* comps, int ncomps) {
|
| if (ncomps > MAX_PATTERN_COLORCOMPS)
|
| return;
|
|
|
| - if (!m_pCS || m_pCS->GetFamily() != PDFCS_PATTERN) {
|
| + if (!IsPattern()) {
|
| FX_Free(m_pBuffer);
|
| m_pCS = CPDF_ColorSpace::GetStockCS(PDFCS_PATTERN);
|
| m_pBuffer = m_pCS->CreateBuf();
|
| @@ -159,22 +152,3 @@ CPDF_Pattern* CPDF_Color::GetPattern() const {
|
| PatternValue* pvalue = (PatternValue*)m_pBuffer;
|
| return pvalue->m_pPattern;
|
| }
|
| -
|
| -CPDF_ColorSpace* CPDF_Color::GetPatternCS() const {
|
| - if (!m_pBuffer || m_pCS->GetFamily() != PDFCS_PATTERN)
|
| - return nullptr;
|
| - return m_pCS->GetBaseCS();
|
| -}
|
| -
|
| -FX_FLOAT* CPDF_Color::GetPatternColor() const {
|
| - if (!m_pBuffer || m_pCS->GetFamily() != PDFCS_PATTERN)
|
| - return nullptr;
|
| -
|
| - PatternValue* pvalue = (PatternValue*)m_pBuffer;
|
| - return pvalue->m_nComps ? pvalue->m_Comps : nullptr;
|
| -}
|
| -
|
| -FX_BOOL CPDF_Color::IsEqual(const CPDF_Color& other) const {
|
| - return m_pCS && m_pCS == other.m_pCS &&
|
| - FXSYS_memcmp(m_pBuffer, other.m_pBuffer, m_pCS->GetBufSize()) == 0;
|
| -}
|
|
|