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_structtree.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_STRUCTTREE_H_
8
#
define
CORE_FPDFDOC_CPDF_STRUCTTREE_H_
9
10
#
include
<
functional
>
11
#
include
<
map
>
12
#
include
<
memory
>
13
#
include
<
vector
>
14
15
#
include
"core/fpdfapi/parser/cpdf_dictionary.h"
16
#
include
"core/fxcrt/bytestring.h"
17
#
include
"core/fxcrt/retain_ptr.h"
18
19
class
CPDF_Document
;
20
class
CPDF_StructElement;
21
22
class
CPDF_StructTree
{
23
public
:
24
static
std
::
unique_ptr
<
CPDF_StructTree
>
LoadPage
(
25
const
CPDF_Document
* pDoc,
26
RetainPtr
<
const
CPDF_Dictionary
> pPageDict);
27
28
explicit
CPDF_StructTree
(
const
CPDF_Document
* pDoc);
29
~
CPDF_StructTree
();
30
31
size_t
CountTopElements
()
const
{
return
m_Kids.size(); }
32
CPDF_StructElement*
GetTopElement
(size_t i)
const
{
return
m_Kids[i].Get(); }
33
uint32_t
GetPageObjNum
()
const
{
return
m_pPage->GetObjNum(); }
34
ByteString
GetRoleMapNameFor
(
const
ByteString
& type)
const
;
35
36
private
:
37
using
StructElementMap
=
std
::
map
<
RetainPtr
<
const
CPDF_Dictionary
>,
38
RetainPtr
<
CPDF_StructElement
>,
39
std
::
less
<>>;
40
41
void
LoadPageTree(
RetainPtr
<
const
CPDF_Dictionary
> pPageDict);
42
RetainPtr
<CPDF_StructElement> AddPageNode(
43
RetainPtr
<
const
CPDF_Dictionary
> pDict,
44
StructElementMap* map,
45
int
nLevel);
46
bool
AddTopLevelNode(
const
CPDF_Dictionary
* pDict,
47
const
RetainPtr
<CPDF_StructElement>& pElement);
48
49
RetainPtr
<
const
CPDF_Dictionary
>
const
m_pTreeRoot;
50
RetainPtr
<
const
CPDF_Dictionary
>
const
m_pRoleMap;
51
RetainPtr
<
const
CPDF_Dictionary
> m_pPage;
52
std::vector<RetainPtr<CPDF_StructElement>> m_Kids;
53
};
54
55
#
endif
// CORE_FPDFDOC_CPDF_STRUCTTREE_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_Document
Definition
cpdf_document.h:29
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
CPDF_StructTree::~CPDF_StructTree
~CPDF_StructTree()
CPDF_StructTree::LoadPage
static std::unique_ptr< CPDF_StructTree > LoadPage(const CPDF_Document *pDoc, RetainPtr< const CPDF_Dictionary > pPageDict)
Definition
cpdf_structtree.cpp:30
CPDF_StructTree::CountTopElements
size_t CountTopElements() const
Definition
cpdf_structtree.h:31
CPDF_StructTree::GetTopElement
CPDF_StructElement * GetTopElement(size_t i) const
Definition
cpdf_structtree.h:32
CPDF_StructTree::GetPageObjNum
uint32_t GetPageObjNum() const
Definition
cpdf_structtree.h:33
CPDF_StructTree::CPDF_StructTree
CPDF_StructTree(const CPDF_Document *pDoc)
Definition
cpdf_structtree.cpp:41
CPDF_StructTree::GetRoleMapNameFor
ByteString GetRoleMapNameFor(const ByteString &type) const
Definition
cpdf_structtree.cpp:47
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_structtree.h
Generated on
for Qt by
1.18.0