| 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;
|
|
|