| 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_PARSER_H_ | 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ |
| 8 #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ | 8 #define CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ |
| 9 | 9 |
| 10 #include "../../../public/fpdf_dataavail.h" |
| 10 #include "../../../third_party/base/nonstd_unique_ptr.h" | 11 #include "../../../third_party/base/nonstd_unique_ptr.h" |
| 11 #include "../fxcrt/fx_system.h" | 12 #include "../fxcrt/fx_system.h" |
| 12 #include "fpdf_objects.h" | 13 #include "fpdf_objects.h" |
| 13 | 14 |
| 15 class CFDF_Document; |
| 16 class CFDF_Parser; |
| 17 class CFX_AffineMatrix; |
| 18 class CFX_DIBSource; |
| 19 class CFX_FloatRect; |
| 20 class CFX_Font; |
| 21 class CFX_PrivateData; |
| 22 class CPDF_ColorSpace; |
| 23 class CPDF_CryptoHandler; |
| 24 class CPDF_DocPageData; |
| 25 class CPDF_DocRenderData; |
| 14 class CPDF_Document; | 26 class CPDF_Document; |
| 27 class CPDF_Font; |
| 28 class CPDF_FontEncoding; |
| 29 class CPDF_HintTables; |
| 30 class CPDF_IccProfile; |
| 31 class CPDF_Image; |
| 32 class CPDF_ModuleMgr; |
| 33 class CPDF_Object; |
| 15 class CPDF_Parser; | 34 class CPDF_Parser; |
| 35 class CPDF_Pattern; |
| 36 class CPDF_Point; |
| 16 class CPDF_SecurityHandler; | 37 class CPDF_SecurityHandler; |
| 17 class CPDF_StandardSecurityHandler; | 38 class CPDF_StandardSecurityHandler; |
| 18 class CPDF_CryptoHandler; | |
| 19 class CPDF_Object; | |
| 20 class IFX_FileRead; | 39 class IFX_FileRead; |
| 21 class CFDF_Document; | 40 |
| 22 class CFDF_Parser; | |
| 23 class CFX_Font; | |
| 24 class CFX_AffineMatrix; | |
| 25 class CFX_FloatRect; | |
| 26 class CPDF_Point; | |
| 27 class CPDF_DocPageData; | |
| 28 class CPDF_DocRenderData; | |
| 29 class CPDF_ModuleMgr; | |
| 30 class CFX_DIBSource; | |
| 31 class CPDF_Font; | |
| 32 class CPDF_Image; | |
| 33 class CPDF_ColorSpace; | |
| 34 class CPDF_Pattern; | |
| 35 class CPDF_FontEncoding; | |
| 36 class CPDF_IccProfile; | |
| 37 class CFX_PrivateData; | |
| 38 #define FPDFPERM_PRINT 0x0004 | 41 #define FPDFPERM_PRINT 0x0004 |
| 39 #define FPDFPERM_MODIFY 0x0008 | 42 #define FPDFPERM_MODIFY 0x0008 |
| 40 #define FPDFPERM_EXTRACT 0x0010 | 43 #define FPDFPERM_EXTRACT 0x0010 |
| 41 #define FPDFPERM_ANNOT_FORM 0x0020 | 44 #define FPDFPERM_ANNOT_FORM 0x0020 |
| 42 #define FPDFPERM_FILL_FORM 0x0100 | 45 #define FPDFPERM_FILL_FORM 0x0100 |
| 43 #define FPDFPERM_EXTRACT_ACCESS 0x0200 | 46 #define FPDFPERM_EXTRACT_ACCESS 0x0200 |
| 44 #define FPDFPERM_ASSEMBLE 0x0400 | 47 #define FPDFPERM_ASSEMBLE 0x0400 |
| 45 #define FPDFPERM_PRINT_HIGH 0x0800 | 48 #define FPDFPERM_PRINT_HIGH 0x0800 |
| 46 #define FPDF_PAGE_MAX_NUM 0xFFFFF | 49 #define FPDF_PAGE_MAX_NUM 0xFFFFF |
| 47 | 50 |
| (...skipping 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 class IFX_FileAvail { | 859 class IFX_FileAvail { |
| 857 public: | 860 public: |
| 858 virtual ~IFX_FileAvail() {} | 861 virtual ~IFX_FileAvail() {} |
| 859 virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, FX_DWORD size) = 0; | 862 virtual FX_BOOL IsDataAvail(FX_FILESIZE offset, FX_DWORD size) = 0; |
| 860 }; | 863 }; |
| 861 class IFX_DownloadHints { | 864 class IFX_DownloadHints { |
| 862 public: | 865 public: |
| 863 virtual ~IFX_DownloadHints() {} | 866 virtual ~IFX_DownloadHints() {} |
| 864 virtual void AddSegment(FX_FILESIZE offset, FX_DWORD size) = 0; | 867 virtual void AddSegment(FX_FILESIZE offset, FX_DWORD size) = 0; |
| 865 }; | 868 }; |
| 866 #define PDF_IS_LINEARIZED 1 | 869 |
| 867 #define PDF_NOT_LINEARIZED 0 | |
| 868 #define PDF_UNKNOW_LINEARIZED -1 | |
| 869 #define PDFFORM_NOTAVAIL 0 | |
| 870 #define PDFFORM_AVAIL 1 | |
| 871 #define PDFFORM_NOTEXIST 2 | |
| 872 class IPDF_DataAvail { | 870 class IPDF_DataAvail { |
| 873 public: | 871 public: |
| 874 static IPDF_DataAvail* Create(IFX_FileAvail* pFileAvail, | 872 static IPDF_DataAvail* Create(IFX_FileAvail* pFileAvail, |
| 875 IFX_FileRead* pFileRead); | 873 IFX_FileRead* pFileRead); |
| 876 virtual ~IPDF_DataAvail() {} | 874 virtual ~IPDF_DataAvail() {} |
| 877 | 875 |
| 878 IFX_FileAvail* GetFileAvail() const { return m_pFileAvail; } | 876 IFX_FileAvail* GetFileAvail() const { return m_pFileAvail; } |
| 879 IFX_FileRead* GetFileRead() const { return m_pFileRead; } | 877 IFX_FileRead* GetFileRead() const { return m_pFileRead; } |
| 880 | 878 |
| 881 virtual FX_BOOL IsDocAvail(IFX_DownloadHints* pHints) = 0; | 879 virtual int32_t IsDocAvail(IFX_DownloadHints* pHints) = 0; |
| 882 virtual void SetDocument(CPDF_Document* pDoc) = 0; | 880 virtual void SetDocument(CPDF_Document* pDoc) = 0; |
| 883 virtual FX_BOOL IsPageAvail(int iPage, IFX_DownloadHints* pHints) = 0; | 881 virtual int32_t IsPageAvail(int iPage, IFX_DownloadHints* pHints) = 0; |
| 884 virtual FX_BOOL IsLinearized() = 0; | 882 virtual FX_BOOL IsLinearized() = 0; |
| 885 virtual int32_t IsFormAvail(IFX_DownloadHints* pHints) = 0; | 883 virtual int32_t IsFormAvail(IFX_DownloadHints* pHints) = 0; |
| 886 virtual int32_t IsLinearizedPDF() = 0; | 884 virtual int32_t IsLinearizedPDF() = 0; |
| 887 virtual void GetLinearizedMainXRefInfo(FX_FILESIZE* pPos, | 885 virtual void GetLinearizedMainXRefInfo(FX_FILESIZE* pPos, |
| 888 FX_DWORD* pSize) = 0; | 886 FX_DWORD* pSize) = 0; |
| 889 | 887 |
| 890 protected: | 888 protected: |
| 891 IPDF_DataAvail(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead); | 889 IPDF_DataAvail(IFX_FileAvail* pFileAvail, IFX_FileRead* pFileRead); |
| 892 | 890 |
| 893 IFX_FileAvail* m_pFileAvail; | 891 IFX_FileAvail* m_pFileAvail; |
| (...skipping 24 matching lines...) Expand all Loading... |
| 918 CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {} | 916 CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {} |
| 919 ~CPDF_PageNode(); | 917 ~CPDF_PageNode(); |
| 920 PDF_PAGENODE_TYPE m_type; | 918 PDF_PAGENODE_TYPE m_type; |
| 921 FX_DWORD m_dwPageNo; | 919 FX_DWORD m_dwPageNo; |
| 922 CFX_PtrArray m_childNode; | 920 CFX_PtrArray m_childNode; |
| 923 }; | 921 }; |
| 924 enum PDF_DATAAVAIL_STATUS { | 922 enum PDF_DATAAVAIL_STATUS { |
| 925 PDF_DATAAVAIL_HEADER = 0, | 923 PDF_DATAAVAIL_HEADER = 0, |
| 926 PDF_DATAAVAIL_FIRSTPAGE, | 924 PDF_DATAAVAIL_FIRSTPAGE, |
| 927 PDF_DATAAVAIL_FIRSTPAGE_PREPARE, | 925 PDF_DATAAVAIL_FIRSTPAGE_PREPARE, |
| 926 PDF_DATAAVAIL_HINTTABLE, |
| 928 PDF_DATAAVAIL_END, | 927 PDF_DATAAVAIL_END, |
| 929 PDF_DATAAVAIL_CROSSREF, | 928 PDF_DATAAVAIL_CROSSREF, |
| 930 PDF_DATAAVAIL_CROSSREF_ITEM, | 929 PDF_DATAAVAIL_CROSSREF_ITEM, |
| 931 PDF_DATAAVAIL_CROSSREF_STREAM, | 930 PDF_DATAAVAIL_CROSSREF_STREAM, |
| 932 PDF_DATAAVAIL_TRAILER, | 931 PDF_DATAAVAIL_TRAILER, |
| 933 PDF_DATAAVAIL_LOADALLCRSOSSREF, | 932 PDF_DATAAVAIL_LOADALLCRSOSSREF, |
| 934 PDF_DATAAVAIL_ROOT, | 933 PDF_DATAAVAIL_ROOT, |
| 935 PDF_DATAAVAIL_INFO, | 934 PDF_DATAAVAIL_INFO, |
| 936 PDF_DATAAVAIL_ACROFORM, | 935 PDF_DATAAVAIL_ACROFORM, |
| 937 PDF_DATAAVAIL_ACROFORM_SUBOBJECT, | 936 PDF_DATAAVAIL_ACROFORM_SUBOBJECT, |
| (...skipping 11 matching lines...) Expand all Loading... |
| 949 FX_DWORD src_size, | 948 FX_DWORD src_size, |
| 950 const CPDF_Dictionary* pDict, | 949 const CPDF_Dictionary* pDict, |
| 951 uint8_t*& dest_buf, | 950 uint8_t*& dest_buf, |
| 952 FX_DWORD& dest_size, | 951 FX_DWORD& dest_size, |
| 953 CFX_ByteString& ImageEncoding, | 952 CFX_ByteString& ImageEncoding, |
| 954 CPDF_Dictionary*& pImageParms, | 953 CPDF_Dictionary*& pImageParms, |
| 955 FX_DWORD estimated_size, | 954 FX_DWORD estimated_size, |
| 956 FX_BOOL bImageAcc); | 955 FX_BOOL bImageAcc); |
| 957 | 956 |
| 958 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ | 957 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PARSER_H_ |
| OLD | NEW |