1 // Copyright 2016 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 
7 #ifndef CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
8 #define CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
9 
10 #include <vector>
11 
12 #include "core/fxge/fx_dib.h"
13 
14 class CPDF_TransferFunc;
15 
16 class CPDF_DIBTransferFunc : public CFX_FilteredDIB {
17  public:
18   explicit CPDF_DIBTransferFunc(const CPDF_TransferFunc* pTransferFunc);
19   ~CPDF_DIBTransferFunc() override;
20 
21   // CFX_FilteredDIB
22   FXDIB_Format GetDestFormat() override;
23   FX_ARGB* GetDestPalette() override;
24   void TranslateScanline(const uint8_t* src_buf,
25                          std::vector<uint8_t>* dest_buf) const override;
26   void TranslateDownSamples(uint8_t* dest_buf,
27                             const uint8_t* src_buf,
28                             int pixels,
29                             int Bpp) const override;
30 
31  private:
32   const uint8_t* m_RampR;
33   const uint8_t* m_RampG;
34   const uint8_t* m_RampB;
35 };
36 
37 #endif  // CORE_FPDFAPI_RENDER_CPDF_DIBTRANSFERFUNC_H_
38