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
cpdf_meshstream.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_FPDFAPI_PAGE_CPDF_MESHSTREAM_H_
8
#
define
CORE_FPDFAPI_PAGE_CPDF_MESHSTREAM_H_
9
10
#
include
<
stdint
.
h
>
11
12
#
include
<
array
>
13
#
include
<
memory
>
14
#
include
<
vector
>
15
16
#
include
"core/fpdfapi/page/cpdf_shadingpattern.h"
17
#
include
"core/fxcrt/retain_ptr.h"
18
#
include
"core/fxge/dib/fx_dib.h"
19
20
class
CPDF_StreamAcc;
21
22
class
CPDF_MeshVertex
{
23
public
:
24
CPDF_MeshVertex
();
25
CPDF_MeshVertex
(
const
CPDF_MeshVertex
&);
26
~
CPDF_MeshVertex
();
27
28
CFX_PointF
position
;
29
FX_RGB_STRUCT
<
float
>
rgb
= {};
30
};
31
32
class
CFX_BitStream
;
33
class
CFX_Matrix
;
34
class
CPDF_ColorSpace
;
35
class
CPDF_Function
;
36
class
CPDF_Stream;
37
38
class
CPDF_MeshStream
{
39
public
:
40
CPDF_MeshStream
(
ShadingType
type,
41
const
std::vector<std::unique_ptr<CPDF_Function>>& funcs,
42
RetainPtr
<
const
CPDF_Stream> pShadingStream,
43
RetainPtr
<
CPDF_ColorSpace
> pCS);
44
~
CPDF_MeshStream
();
45
46
bool
Load
();
47
void
SkipBits
(uint32_t nbits);
48
void
ByteAlign
();
49
50
bool
IsEOF
()
const
;
51
bool
CanReadFlag
()
const
;
52
bool
CanReadCoords
()
const
;
53
bool
CanReadColor
()
const
;
54
55
uint32_t
ReadFlag
()
const
;
56
CFX_PointF
ReadCoords
()
const
;
57
FX_RGB_STRUCT
<
float
>
ReadColor
()
const
;
58
59
bool
ReadVertex
(
const
CFX_Matrix
& pObject2Bitmap,
60
CPDF_MeshVertex
* vertex,
61
uint32_t* flag);
62
std
::
vector
<
CPDF_MeshVertex
>
ReadVertexRow
(
const
CFX_Matrix
& pObject2Bitmap,
63
int
count);
64
65
uint32_t
ComponentBits
()
const
{
return
m_nComponentBits; }
66
uint32_t
Components
()
const
{
return
m_nComponents; }
67
68
private
:
69
static
constexpr
uint32_t kMaxComponents = 8;
70
71
const
ShadingType
m_type;
72
const
std::vector<std::unique_ptr<CPDF_Function>>& m_funcs;
73
RetainPtr
<
const
CPDF_Stream>
const
m_pShadingStream;
74
RetainPtr
<
CPDF_ColorSpace
>
const
m_pCS;
75
uint32_t m_nCoordBits = 0;
76
uint32_t m_nComponentBits = 0;
77
uint32_t m_nFlagBits = 0;
78
uint32_t m_nComponents = 0;
79
uint32_t m_CoordMax = 0;
80
uint32_t m_ComponentMax = 0;
81
float
m_xmin = 0.0f;
82
float
m_xmax = 0.0f;
83
float
m_ymin = 0.0f;
84
float
m_ymax = 0.0f;
85
RetainPtr
<CPDF_StreamAcc> m_pStream;
86
std::unique_ptr<CFX_BitStream> m_BitStream;
87
std
::array<
float
, kMaxComponents> m_ColorMin = {};
88
std
::array<
float
, kMaxComponents> m_ColorMax = {};
89
};
90
91
#
endif
// CORE_FPDFAPI_PAGE_CPDF_MESHSTREAM_H_
DCHECK
#define DCHECK
Definition
check.h:33
CFX_BitStream
Definition
cfx_bitstream.h:16
CFX_Matrix
Definition
fx_coordinates.h:440
CFX_Matrix::Transform
CFX_PointF Transform(const CFX_PointF &point) const
Definition
fx_coordinates.cpp:464
CPDF_Array::const_iterator
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
Definition
cpdf_array.h:29
CPDF_ColorSpace
Definition
cpdf_colorspace.h:53
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Function
Definition
cpdf_function.h:23
CPDF_MeshStream
Definition
cpdf_meshstream.h:38
CPDF_MeshStream::ReadCoords
CFX_PointF ReadCoords() const
Definition
cpdf_meshstream.cpp:185
CPDF_MeshStream::~CPDF_MeshStream
~CPDF_MeshStream()
CPDF_MeshStream::ComponentBits
uint32_t ComponentBits() const
Definition
cpdf_meshstream.h:65
CPDF_MeshStream::ReadFlag
uint32_t ReadFlag() const
Definition
cpdf_meshstream.cpp:180
CPDF_MeshStream::Components
uint32_t Components() const
Definition
cpdf_meshstream.h:66
CPDF_MeshStream::IsEOF
bool IsEOF() const
Definition
cpdf_meshstream.cpp:164
CPDF_MeshStream::ByteAlign
void ByteAlign()
Definition
cpdf_meshstream.cpp:160
CPDF_MeshStream::CanReadCoords
bool CanReadCoords() const
Definition
cpdf_meshstream.cpp:172
CPDF_MeshStream::CanReadFlag
bool CanReadFlag() const
Definition
cpdf_meshstream.cpp:168
CPDF_MeshStream::Load
bool Load()
Definition
cpdf_meshstream.cpp:114
CPDF_MeshStream::ReadVertex
bool ReadVertex(const CFX_Matrix &pObject2Bitmap, CPDF_MeshVertex *vertex, uint32_t *flag)
Definition
cpdf_meshstream.cpp:224
CPDF_MeshStream::SkipBits
void SkipBits(uint32_t nbits)
Definition
cpdf_meshstream.cpp:156
CPDF_MeshStream::ReadColor
FX_RGB_STRUCT< float > ReadColor() const
Definition
cpdf_meshstream.cpp:203
CPDF_MeshStream::CanReadColor
bool CanReadColor() const
Definition
cpdf_meshstream.cpp:176
CPDF_MeshStream::CPDF_MeshStream
CPDF_MeshStream(ShadingType type, const std::vector< std::unique_ptr< CPDF_Function > > &funcs, RetainPtr< const CPDF_Stream > pShadingStream, RetainPtr< CPDF_ColorSpace > pCS)
Definition
cpdf_meshstream.cpp:101
CPDF_MeshStream::ReadVertexRow
std::vector< CPDF_MeshVertex > ReadVertexRow(const CFX_Matrix &pObject2Bitmap, int count)
Definition
cpdf_meshstream.cpp:242
CPDF_MeshVertex
Definition
cpdf_meshstream.h:22
CPDF_MeshVertex::position
CFX_PointF position
Definition
cpdf_meshstream.h:28
CPDF_MeshVertex::~CPDF_MeshVertex
~CPDF_MeshVertex()
CPDF_MeshVertex::rgb
FX_RGB_STRUCT< float > rgb
Definition
cpdf_meshstream.h:29
CPDF_MeshVertex::CPDF_MeshVertex
CPDF_MeshVertex(const CPDF_MeshVertex &)
CPDF_MeshVertex::CPDF_MeshVertex
CPDF_MeshVertex()
fxcrt::RetainPtr
Definition
retain_ptr.h:28
ShadingType
ShadingType
Definition
cpdf_shadingpattern.h:21
kCoonsPatchMeshShading
@ kCoonsPatchMeshShading
Definition
cpdf_shadingpattern.h:28
kTensorProductPatchMeshShading
@ kTensorProductPatchMeshShading
Definition
cpdf_shadingpattern.h:29
kLatticeFormGouraudTriangleMeshShading
@ kLatticeFormGouraudTriangleMeshShading
Definition
cpdf_shadingpattern.h:27
kFreeFormGouraudTriangleMeshShading
@ kFreeFormGouraudTriangleMeshShading
Definition
cpdf_shadingpattern.h:26
CFX_PointF
CFX_PTemplate< float > CFX_PointF
Definition
fx_coordinates.h:51
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
FX_RGB_STRUCT
Definition
fx_dib.h:46
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fpdfapi
page
cpdf_meshstream.h
Generated on
for Qt by
1.18.0