Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
bmp_decoder.h
Go to the documentation of this file.
1
// Copyright 2016 The PDFium Authors
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_FXCODEC_BMP_BMP_DECODER_H_
8
#
define
CORE_FXCODEC_BMP_BMP_DECODER_H_
9
10
#
include
<
memory
>
11
12
#
include
"core/fxcodec/progressive_decoder_iface.h"
13
#
include
"core/fxcrt/fx_system.h"
14
#
include
"core/fxcrt/retain_ptr.h"
15
#
include
"core/fxcrt/span.h"
16
#
include
"core/fxge/dib/fx_dib.h"
17
18
#
ifndef
PDF_ENABLE_XFA_BMP
19
#
error
"BMP must be enabled"
20
#
endif
21
22
namespace
fxcodec
{
23
24
class
CFX_DIBAttribute;
25
26
class
BmpDecoder
{
27
public
:
28
class
Delegate
{
29
public
:
30
virtual
bool
BmpInputImagePositionBuf
(uint32_t rcd_pos) = 0;
31
virtual
void
BmpReadScanline
(uint32_t row_num,
32
pdfium::span<
const
uint8_t> row_buf) = 0;
33
};
34
35
enum
class
Status
:
uint8_t
{
kFail
,
kSuccess
,
kContinue
};
36
37
static
std
::
unique_ptr
<
ProgressiveDecoderIface
::
Context
>
StartDecode
(
38
Delegate
* pDelegate);
39
static
Status
ReadHeader
(
ProgressiveDecoderIface
::
Context
* pContext,
40
int32_t* width,
41
int32_t* height,
42
bool
* tb_flag,
43
int32_t* components,
44
pdfium::span<
const
FX_ARGB>* palette,
45
CFX_DIBAttribute* pAttribute);
46
static
Status
LoadImage
(
ProgressiveDecoderIface
::
Context
* pContext);
47
static
FX_FILESIZE
GetAvailInput
(
ProgressiveDecoderIface
::
Context
* pContext);
48
static
bool
Input
(
ProgressiveDecoderIface
::
Context
* pContext,
49
RetainPtr
<CFX_CodecMemory> codec_memory);
50
51
BmpDecoder
() =
delete
;
52
BmpDecoder
(
const
BmpDecoder
&) =
delete
;
53
BmpDecoder
&
operator
=(
const
BmpDecoder
&) =
delete
;
54
};
55
56
}
// namespace fxcodec
57
58
using
BmpDecoder
=
fxcodec
::
BmpDecoder
;
59
60
#
endif
// CORE_FXCODEC_BMP_BMP_DECODER_H_
BmpDecoder
fxcodec::BmpDecoder BmpDecoder
Definition
bmp_decoder.h:58
DCHECK
#define DCHECK
Definition
check.h:33
fxcodec::BmpDecoder::Delegate
Definition
bmp_decoder.h:28
fxcodec::BmpDecoder::Delegate::BmpReadScanline
virtual void BmpReadScanline(uint32_t row_num, pdfium::span< const uint8_t > row_buf)=0
fxcodec::BmpDecoder::Delegate::BmpInputImagePositionBuf
virtual bool BmpInputImagePositionBuf(uint32_t rcd_pos)=0
fxcodec::BmpDecoder
Definition
bmp_decoder.h:26
fxcodec::BmpDecoder::Status
Status
Definition
bmp_decoder.h:35
fxcodec::BmpDecoder::Status::kContinue
@ kContinue
Definition
bmp_decoder.h:35
fxcodec::BmpDecoder::Status::kFail
@ kFail
Definition
bmp_decoder.h:35
fxcodec::BmpDecoder::Status::kSuccess
@ kSuccess
Definition
bmp_decoder.h:35
fxcodec::BmpDecoder::Input
static bool Input(ProgressiveDecoderIface::Context *pContext, RetainPtr< CFX_CodecMemory > codec_memory)
Definition
bmp_decoder.cpp:65
fxcodec::BmpDecoder::BmpDecoder
BmpDecoder(const BmpDecoder &)=delete
fxcodec::BmpDecoder::LoadImage
static Status LoadImage(ProgressiveDecoderIface::Context *pContext)
Definition
bmp_decoder.cpp:53
fxcodec::BmpDecoder::ReadHeader
static Status ReadHeader(ProgressiveDecoderIface::Context *pContext, int32_t *width, int32_t *height, bool *tb_flag, int32_t *components, pdfium::span< const FX_ARGB > *palette, CFX_DIBAttribute *pAttribute)
Definition
bmp_decoder.cpp:26
fxcodec::BmpDecoder::StartDecode
static std::unique_ptr< ProgressiveDecoderIface::Context > StartDecode(Delegate *pDelegate)
Definition
bmp_decoder.cpp:20
fxcodec::BmpDecoder::GetAvailInput
static FX_FILESIZE GetAvailInput(ProgressiveDecoderIface::Context *pContext)
Definition
bmp_decoder.cpp:59
fxcodec::BmpDecoder::BmpDecoder
BmpDecoder()=delete
fxcodec::BmpDecoder::operator=
BmpDecoder & operator=(const BmpDecoder &)=delete
fxcodec::ProgressiveDecoderIface::Context
Definition
progressive_decoder_iface.h:23
fxcodec::ProgressiveDecoderIface
Definition
progressive_decoder_iface.h:21
fxcrt::RetainPtr
Definition
retain_ptr.h:28
FX_FILESIZE
#define FX_FILESIZE
Definition
fx_types.h:19
fxcodec
Definition
fpdf_parser_decode.h:28
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fxcodec
bmp
bmp_decoder.h
Generated on
for Qt by
1.18.0