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_structelement.h
Go to the documentation of this file.
1
// Copyright 2017 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_FPDFDOC_CPDF_STRUCTELEMENT_H_
8
#
define
CORE_FPDFDOC_CPDF_STRUCTELEMENT_H_
9
10
#
include
<
optional
>
11
#
include
<
vector
>
12
13
#
include
"core/fxcrt/fx_string.h"
14
#
include
"core/fxcrt/retain_ptr.h"
15
#
include
"core/fxcrt/unowned_ptr.h"
16
17
class
CPDF_Dictionary
;
18
class
CPDF_Object
;
19
class
CPDF_StructTree
;
20
21
class
CPDF_StructElement
final
:
public
Retainable
{
22
public
:
23
CONSTRUCT_VIA_MAKE_RETAIN
;
24
25
ByteString
GetType
()
const
{
return
m_Type; }
26
ByteString
GetObjType
()
const
;
27
WideString
GetAltText
()
const
;
28
WideString
GetActualText
()
const
;
29
WideString
GetTitle
()
const
;
30
std
::optional<
WideString
>
GetID
()
const
;
31
std
::optional<
WideString
>
GetLang
()
const
;
32
RetainPtr
<
const
CPDF_Object
>
GetA
()
const
;
33
RetainPtr
<
const
CPDF_Object
>
GetK
()
const
;
34
35
size_t
CountKids
()
const
;
36
CPDF_StructElement*
GetKidIfElement
(size_t index)
const
;
37
int
GetKidContentId
(size_t index)
const
;
38
bool
UpdateKidIfElement
(
const
CPDF_Dictionary
* pDict,
39
CPDF_StructElement* pElement);
40
41
CPDF_StructElement*
GetParent
()
const
{
return
m_pParentElement; }
42
void
SetParent
(CPDF_StructElement* pParentElement) {
43
m_pParentElement = pParentElement;
44
}
45
46
private
:
47
struct
Kid {
48
enum
Type { kInvalid, kElement, kPageContent, kStreamContent, kObject };
49
50
Kid();
51
Kid(
const
Kid& that);
52
~Kid();
53
54
Type m_Type = kInvalid;
55
uint32_t m_PageObjNum = 0;
// For {PageContent, StreamContent, Object}.
56
uint32_t m_RefObjNum = 0;
// For {StreamContent, Object} types.
57
uint32_t m_ContentId = 0;
// For {PageContent, StreamContent} types.
58
RetainPtr
<CPDF_StructElement> m_pElement;
// For Element type.
59
RetainPtr
<
const
CPDF_Dictionary
> m_pDict;
// For Element type.
60
};
61
62
CPDF_StructElement(
const
CPDF_StructTree
* pTree,
63
RetainPtr
<
const
CPDF_Dictionary
> pDict);
64
~
CPDF_StructElement
()
override
;
65
66
void
LoadKids();
67
void
LoadKid(uint32_t page_obj_num,
68
RetainPtr
<
const
CPDF_Object
> pKidObj,
69
Kid& kid);
70
71
UnownedPtr
<
const
CPDF_StructTree
>
const
m_pTree;
72
RetainPtr
<
const
CPDF_Dictionary
>
const
m_pDict;
73
UnownedPtr
<CPDF_StructElement> m_pParentElement;
74
const
ByteString
m_Type;
75
std::vector<Kid> m_Kids;
76
};
77
78
#
endif
// CORE_FPDFDOC_CPDF_STRUCTELEMENT_H_
ByteString
fxcrt::ByteString ByteString
Definition
bytestring.h:180
DCHECK
#define DCHECK
Definition
check.h:33
CPDF_Array::const_iterator
std::vector< RetainPtr< CPDF_Object > >::const_iterator const_iterator
Definition
cpdf_array.h:29
CPDF_Dictionary::GetIntegerFor
int GetIntegerFor(const ByteString &key) const
Definition
cpdf_dictionary.cpp:133
CPDF_Dictionary::DictMap
std::map< ByteString, RetainPtr< CPDF_Object >, std::less<> > DictMap
Definition
cpdf_dictionary.h:31
CPDF_Dictionary::GetNameFor
ByteString GetNameFor(const ByteString &key) const
Definition
cpdf_dictionary.cpp:122
CPDF_Object
Definition
cpdf_object.h:50
CPDF_Reference::GetRefObjNum
uint32_t GetRefObjNum() const
Definition
cpdf_reference.h:34
CPDF_StructElement::~CPDF_StructElement
~CPDF_StructElement() override
Definition
cpdf_structelement.cpp:35
CPDF_StructElement::SetParent
void SetParent(CPDF_StructElement *pParentElement)
Definition
cpdf_structelement.h:42
CPDF_StructElement::GetKidContentId
int GetKidContentId(size_t index) const
Definition
cpdf_structelement.cpp:90
CPDF_StructElement::UpdateKidIfElement
bool UpdateKidIfElement(const CPDF_Dictionary *pDict, CPDF_StructElement *pElement)
Definition
cpdf_structelement.cpp:97
CPDF_StructElement::GetType
ByteString GetType() const
Definition
cpdf_structelement.h:25
CPDF_StructElement::CountKids
size_t CountKids() const
Definition
cpdf_structelement.cpp:81
CPDF_StructElement::GetK
RetainPtr< const CPDF_Object > GetK() const
Definition
cpdf_structelement.cpp:77
CPDF_StructElement::GetID
std::optional< WideString > GetID() const
Definition
cpdf_structelement.cpp:59
CPDF_StructElement::GetTitle
WideString GetTitle() const
Definition
cpdf_structelement.cpp:55
CPDF_StructElement::GetKidIfElement
CPDF_StructElement * GetKidIfElement(size_t index) const
Definition
cpdf_structelement.cpp:85
CPDF_StructElement::GetLang
std::optional< WideString > GetLang() const
Definition
cpdf_structelement.cpp:66
CPDF_StructElement::GetActualText
WideString GetActualText() const
Definition
cpdf_structelement.cpp:51
CPDF_StructElement::GetParent
CPDF_StructElement * GetParent() const
Definition
cpdf_structelement.h:41
CPDF_StructElement::GetObjType
ByteString GetObjType() const
Definition
cpdf_structelement.cpp:43
CPDF_StructElement::GetAltText
WideString GetAltText() const
Definition
cpdf_structelement.cpp:47
CPDF_StructElement::GetA
RetainPtr< const CPDF_Object > GetA() const
Definition
cpdf_structelement.cpp:73
CPDF_StructTree
Definition
cpdf_structtree.h:22
fxcrt::ByteString::operator==
bool operator==(const char *ptr) const
Definition
bytestring.cpp:208
fxcrt::RetainPtr
Definition
retain_ptr.h:28
fxcrt::Retainable
Definition
retain_ptr.h:156
fxcrt::UnownedPtr
Definition
unowned_ptr.h:76
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
CONSTRUCT_VIA_MAKE_RETAIN
#define CONSTRUCT_VIA_MAKE_RETAIN
Definition
retain_ptr.h:222
WideString
fxcrt::WideString WideString
Definition
widestring.h:207
qtwebengine
src
3rdparty
chromium
third_party
pdfium
core
fpdfdoc
cpdf_structelement.h
Generated on
for Qt by
1.18.0