Index: core/src/fpdfdoc/tagged_int.h |
diff --git a/core/src/fpdfdoc/tagged_int.h b/core/src/fpdfdoc/tagged_int.h |
index 7cf368083c96cacc62cfea6b6edbf294b3c60ac9..de6854ea0b8bbf8d294205f011eac64bec7d1bf0 100644 |
--- a/core/src/fpdfdoc/tagged_int.h |
+++ b/core/src/fpdfdoc/tagged_int.h |
@@ -10,14 +10,18 @@ |
#include "../../include/fpdfdoc/fpdf_tagged.h" |
class CPDF_StructElementImpl; |
+ |
class CPDF_StructTreeImpl : public CPDF_StructTree { |
public: |
- CPDF_StructTreeImpl(const CPDF_Document* pDoc); |
- ~CPDF_StructTreeImpl(); |
- int CountTopElements() const { return m_Kids.GetSize(); } |
- CPDF_StructElement* GetTopElement(int i) const { |
+ explicit CPDF_StructTreeImpl(const CPDF_Document* pDoc); |
+ ~CPDF_StructTreeImpl() override; |
+ |
+ // CPDF_StructTree |
+ int CountTopElements() const override { return m_Kids.GetSize(); } |
+ CPDF_StructElement* GetTopElement(int i) const override { |
return (CPDF_StructElement*)m_Kids.GetAt(i); |
} |
+ |
void LoadDocTree(); |
void LoadPageTree(const CPDF_Dictionary* pPageDict); |
CPDF_StructElementImpl* AddPageNode(CPDF_Dictionary* pElement, |
@@ -33,46 +37,48 @@ class CPDF_StructTreeImpl : public CPDF_StructTree { |
CFX_ArrayTemplate<CPDF_StructElementImpl*> m_Kids; |
friend class CPDF_StructElementImpl; |
}; |
+ |
class CPDF_StructElementImpl final : public CPDF_StructElement { |
public: |
CPDF_StructElementImpl(CPDF_StructTreeImpl* pTree, |
CPDF_StructElementImpl* pParent, |
CPDF_Dictionary* pDict); |
- CPDF_StructTree* GetTree() const { return m_pTree; } |
- const CFX_ByteString& GetType() const { return m_Type; } |
- CPDF_StructElement* GetParent() const { return m_pParent; } |
- CPDF_Dictionary* GetDict() const { return m_pDict; } |
- int CountKids() const { return m_Kids.GetSize(); } |
- const CPDF_StructKid& GetKid(int index) const { |
+ |
+ // CPDF_StructTreeImpl |
+ CPDF_StructTree* GetTree() const override { return m_pTree; } |
+ const CFX_ByteString& GetType() const override { return m_Type; } |
+ CPDF_StructElement* GetParent() const override { return m_pParent; } |
+ CPDF_Dictionary* GetDict() const override { return m_pDict; } |
+ int CountKids() const override { return m_Kids.GetSize(); } |
+ const CPDF_StructKid& GetKid(int index) const override { |
return m_Kids.GetData()[index]; |
} |
- CFX_PtrArray* GetObjectArray() { return &m_ObjectArray; } |
- |
+ CFX_PtrArray* GetObjectArray() override { return &m_ObjectArray; } |
CPDF_Object* GetAttr(const CFX_ByteStringC& owner, |
const CFX_ByteStringC& name, |
FX_BOOL bInheritable = FALSE, |
- FX_FLOAT fLevel = 0.0F); |
- |
+ FX_FLOAT fLevel = 0.0F) override; |
CFX_ByteString GetName(const CFX_ByteStringC& owner, |
const CFX_ByteStringC& name, |
const CFX_ByteStringC& default_value, |
FX_BOOL bInheritable = FALSE, |
- int subindex = -1); |
+ int subindex = -1) override; |
FX_ARGB GetColor(const CFX_ByteStringC& owner, |
const CFX_ByteStringC& name, |
FX_ARGB default_value, |
FX_BOOL bInheritable = FALSE, |
- int subindex = -1); |
+ int subindex = -1) override; |
FX_FLOAT GetNumber(const CFX_ByteStringC& owner, |
const CFX_ByteStringC& name, |
FX_FLOAT default_value, |
FX_BOOL bInheritable = FALSE, |
- int subindex = -1); |
+ int subindex = -1) override; |
int GetInteger(const CFX_ByteStringC& owner, |
const CFX_ByteStringC& name, |
int default_value, |
FX_BOOL bInheritable = FALSE, |
- int subindex = -1); |
+ int subindex = -1) override; |
+ |
CFX_PtrArray m_ObjectArray; |
void LoadKids(CPDF_Dictionary* pDict); |
void LoadKid(FX_DWORD PageObjNum, CPDF_Object* pObj, CPDF_StructKid* pKid); |
@@ -84,7 +90,7 @@ class CPDF_StructElementImpl final : public CPDF_StructElement { |
void Release(); |
protected: |
- ~CPDF_StructElementImpl(); |
+ ~CPDF_StructElementImpl() override; |
CPDF_StructTreeImpl* m_pTree; |
CFX_ByteString m_Type; |