| OLD | NEW |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| 6 | 6 |
| 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ | 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ |
| 8 #define CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ | 8 #define CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ |
| 9 | 9 |
| 10 #include <map> | 10 #include <map> |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 46 public: | 46 public: |
| 47 int GetType() const { return m_Type; } | 47 int GetType() const { return m_Type; } |
| 48 FX_DWORD GetObjNum() const { return m_ObjNum; } | 48 FX_DWORD GetObjNum() const { return m_ObjNum; } |
| 49 FX_DWORD GetGenNum() const { return m_GenNum; } | 49 FX_DWORD GetGenNum() const { return m_GenNum; } |
| 50 | 50 |
| 51 FX_BOOL IsIdentical(CPDF_Object* pObj) const; | 51 FX_BOOL IsIdentical(CPDF_Object* pObj) const; |
| 52 CPDF_Object* Clone(FX_BOOL bDirect = FALSE) const; | 52 CPDF_Object* Clone(FX_BOOL bDirect = FALSE) const; |
| 53 CPDF_Object* CloneRef(CPDF_IndirectObjectHolder* pObjs) const; | 53 CPDF_Object* CloneRef(CPDF_IndirectObjectHolder* pObjs) const; |
| 54 | 54 |
| 55 CPDF_Object* GetDirect() const; | 55 CPDF_Object* GetDirect() const; |
| 56 int GetDirectType() const; | |
| 57 FX_BOOL IsModified() const { return FALSE; } | 56 FX_BOOL IsModified() const { return FALSE; } |
| 58 | 57 |
| 59 void Release(); | 58 void Release(); |
| 60 | 59 |
| 61 CFX_ByteString GetString() const; | 60 CFX_ByteString GetString() const; |
| 62 CFX_ByteStringC GetConstString() const; | 61 CFX_ByteStringC GetConstString() const; |
| 63 CFX_WideString GetUnicodeText(CFX_CharMap* pCharMap = NULL) const; | 62 CFX_WideString GetUnicodeText(CFX_CharMap* pCharMap = NULL) const; |
| 64 FX_FLOAT GetNumber() const; | 63 FX_FLOAT GetNumber() const; |
| 65 FX_FLOAT GetNumber16() const; | 64 FX_FLOAT GetNumber16() const; |
| 66 int GetInteger() const; | 65 int GetInteger() const; |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 561 } | 560 } |
| 562 | 561 |
| 563 class CPDF_IndirectObjectHolder { | 562 class CPDF_IndirectObjectHolder { |
| 564 public: | 563 public: |
| 565 using iterator = std::map<FX_DWORD, CPDF_Object*>::iterator; | 564 using iterator = std::map<FX_DWORD, CPDF_Object*>::iterator; |
| 566 using const_iterator = std::map<FX_DWORD, CPDF_Object*>::const_iterator; | 565 using const_iterator = std::map<FX_DWORD, CPDF_Object*>::const_iterator; |
| 567 | 566 |
| 568 explicit CPDF_IndirectObjectHolder(CPDF_Parser* pParser); | 567 explicit CPDF_IndirectObjectHolder(CPDF_Parser* pParser); |
| 569 ~CPDF_IndirectObjectHolder(); | 568 ~CPDF_IndirectObjectHolder(); |
| 570 | 569 |
| 571 int GetIndirectType(FX_DWORD objnum); | |
| 572 CPDF_Object* GetIndirectObject(FX_DWORD objnum, PARSE_CONTEXT* pContext); | 570 CPDF_Object* GetIndirectObject(FX_DWORD objnum, PARSE_CONTEXT* pContext); |
| 573 FX_DWORD AddIndirectObject(CPDF_Object* pObj); | 571 FX_DWORD AddIndirectObject(CPDF_Object* pObj); |
| 574 void ReleaseIndirectObject(FX_DWORD objnum); | 572 void ReleaseIndirectObject(FX_DWORD objnum); |
| 575 | 573 |
| 576 // Takes ownership of |pObj|. | 574 // Takes ownership of |pObj|. |
| 577 FX_BOOL InsertIndirectObject(FX_DWORD objnum, CPDF_Object* pObj); | 575 FX_BOOL InsertIndirectObject(FX_DWORD objnum, CPDF_Object* pObj); |
| 578 | 576 |
| 579 FX_DWORD GetLastObjNum() const { return m_LastObjNum; } | 577 FX_DWORD GetLastObjNum() const { return m_LastObjNum; } |
| 580 iterator begin() { return m_IndirectObjs.begin(); } | 578 iterator begin() { return m_IndirectObjs.begin(); } |
| 581 const_iterator begin() const { return m_IndirectObjs.cbegin(); } | 579 const_iterator begin() const { return m_IndirectObjs.cbegin(); } |
| 582 iterator end() { return m_IndirectObjs.end(); } | 580 iterator end() { return m_IndirectObjs.end(); } |
| 583 const_iterator end() const { return m_IndirectObjs.end(); } | 581 const_iterator end() const { return m_IndirectObjs.end(); } |
| 584 | 582 |
| 585 protected: | 583 protected: |
| 586 CPDF_Parser* m_pParser; | 584 CPDF_Parser* m_pParser; |
| 587 FX_DWORD m_LastObjNum; | 585 FX_DWORD m_LastObjNum; |
| 588 std::map<FX_DWORD, CPDF_Object*> m_IndirectObjs; | 586 std::map<FX_DWORD, CPDF_Object*> m_IndirectObjs; |
| 589 }; | 587 }; |
| 590 | 588 |
| 591 #endif // CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ | 589 #endif // CORE_INCLUDE_FPDFAPI_FPDF_OBJECTS_H_ |
| OLD | NEW |