// Copyright 2022 The PDFium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CORE_FPDFAPI_PAGE_CPDF_INDEXEDCS_H_ #define CORE_FPDFAPI_PAGE_CPDF_INDEXEDCS_H_ #include #include "core/fpdfapi/page/cpdf_basedcs.h" #include "core/fxcrt/bytestring.h" #include "core/fxcrt/data_vector.h" #include "core/fxcrt/retain_ptr.h" class CPDF_Document; class CPDF_IndexedCS final : public CPDF_BasedCS { public: CONSTRUCT_VIA_MAKE_RETAIN; ~CPDF_IndexedCS() override; // CPDF_ColorSpace: bool GetRGB(pdfium::span pBuf, float* R, float* G, float* B) const override; const CPDF_IndexedCS* AsIndexedCS() const override; uint32_t v_Load(CPDF_Document* pDoc, const CPDF_Array* pArray, std::set* pVisited) override; int GetMaxIndex() const { return m_MaxIndex; } private: CPDF_IndexedCS(); uint32_t m_nBaseComponents = 0; int m_MaxIndex = 0; ByteString m_Table; DataVector m_pCompMinMax; }; #endif // CORE_FPDFAPI_PAGE_CPDF_INDEXEDCS_H_