7#ifndef CORE_FXCODEC_BMP_BMP_DECODER_H_
8#define CORE_FXCODEC_BMP_BMP_DECODER_H_
13#include "core/fxcodec/progressive_decoder_iface.h"
14#include "core/fxcrt/fx_system.h"
15#include "core/fxcrt/retain_ptr.h"
16#include "third_party/base/containers/span.h"
18#ifndef PDF_ENABLE_XFA_BMP
19#error "BMP must be enabled"
24class CFX_DIBAttribute;
32 pdfium::span<
const uint8_t> row_buf) = 0;
45 const std::vector<uint32_t>** palette,
46 CFX_DIBAttribute* pAttribute);
virtual void BmpReadScanline(uint32_t row_num, pdfium::span< const uint8_t > row_buf)=0
virtual bool BmpInputImagePositionBuf(uint32_t rcd_pos)=0
static bool Input(ProgressiveDecoderIface::Context *pContext, RetainPtr< CFX_CodecMemory > codec_memory)
static Status ReadHeader(ProgressiveDecoderIface::Context *pContext, int32_t *width, int32_t *height, bool *tb_flag, int32_t *components, int32_t *pal_num, const std::vector< uint32_t > **palette, CFX_DIBAttribute *pAttribute)
BmpDecoder(const BmpDecoder &)=delete
static Status LoadImage(ProgressiveDecoderIface::Context *pContext)
static std::unique_ptr< ProgressiveDecoderIface::Context > StartDecode(Delegate *pDelegate)
static FX_FILESIZE GetAvailInput(ProgressiveDecoderIface::Context *pContext)
BmpDecoder & operator=(const BmpDecoder &)=delete