OLD | NEW |
(Empty) | |
| 1 // Copyright 2014 PDFium Authors. All rights reserved. |
| 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_SRC_FPDFAPI_FPDF_PARSER_PARSER_INT_H_ |
| 8 #define CORE_SRC_FPDFAPI_FPDF_PARSER_PARSER_INT_H_ |
| 9 |
| 10 class CPDF_DataAvail; |
| 11 |
| 12 class CPDF_HintTables { |
| 13 public: |
| 14 CPDF_HintTables(CPDF_DataAvail* pDataAvail, CPDF_Dictionary* pLinearized) |
| 15 : m_pLinearizedDict(pLinearized), |
| 16 m_pHintStream(nullptr), |
| 17 m_pDataAvail(pDataAvail), |
| 18 m_nFirstPageSharedObjs(0), |
| 19 m_szFirstPageObjOffset(0) {} |
| 20 ~CPDF_HintTables(); |
| 21 FX_BOOL GetPagePos(int index, |
| 22 FX_FILESIZE& szPageStartPos, |
| 23 FX_FILESIZE& szPageLength, |
| 24 FX_DWORD& dwObjNum); |
| 25 FX_BOOL CheckPage(int index, IFX_DownloadHints* pHints); |
| 26 FX_BOOL LoadHintStream(CPDF_Stream* pHintStream); |
| 27 |
| 28 protected: |
| 29 FX_BOOL ReadPageHintTable(CFX_BitStream* hStream); |
| 30 FX_BOOL ReadSharedObjHintTable(CFX_BitStream* hStream); |
| 31 FX_DWORD GetItemLength(int index, const CFX_FileSizeArray& szArray); |
| 32 |
| 33 private: |
| 34 int ReadPrimaryHintStreamOffset() const; |
| 35 int ReadPrimaryHintStreamLength() const; |
| 36 |
| 37 CPDF_Dictionary* m_pLinearizedDict; |
| 38 CPDF_Stream* m_pHintStream; |
| 39 CPDF_DataAvail* m_pDataAvail; |
| 40 FX_DWORD m_nFirstPageSharedObjs; |
| 41 FX_FILESIZE m_szFirstPageObjOffset; |
| 42 CFX_DWordArray m_dwDeltaNObjsArray; |
| 43 CFX_DWordArray m_dwNSharedObjsArray; |
| 44 CFX_DWordArray m_dwSharedObjNumArray; |
| 45 CFX_DWordArray m_dwIdentifierArray; |
| 46 CFX_FileSizeArray m_szPageOffsetArray; |
| 47 CFX_FileSizeArray m_szSharedObjOffsetArray; |
| 48 }; |
| 49 #endif // CORE_SRC_FPDFAPI_FPDF_PARSER_PARSER_INT_H_ |
OLD | NEW |