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