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_PAGE_H_ | 7 #ifndef CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ |
8 #define CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ | 8 #define CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ |
9 | 9 |
10 #include <memory> | 10 #include <memory> |
11 | 11 |
12 #include "core/include/fpdfapi/fpdf_parser.h" | 12 #include "core/include/fpdfapi/fpdf_parser.h" |
13 #include "core/include/fpdfapi/fpdf_resource.h" | 13 #include "core/include/fpdfapi/fpdf_resource.h" |
14 #include "core/include/fxge/fx_dib.h" | 14 #include "core/include/fxge/fx_dib.h" |
15 | 15 |
16 class CPDF_Page; | 16 class CPDF_Page; |
17 class CPDF_Form; | 17 class CPDF_Form; |
18 class CPDF_ParseOptions; | 18 class CPDF_ParseOptions; |
19 class CPDF_PageObject; | 19 class CPDF_PageObject; |
20 class CPDF_PageRenderCache; | 20 class CPDF_PageRenderCache; |
21 class CPDF_StreamFilter; | 21 class CPDF_StreamFilter; |
22 class CPDF_AllStates; | 22 class CPDF_AllStates; |
23 class CPDF_ContentParser; | 23 class CPDF_ContentParser; |
24 class CPDF_StreamContentParser; | 24 class CPDF_StreamContentParser; |
25 #define PDFTRANS_GROUP 0x0100 | 25 #define PDFTRANS_GROUP 0x0100 |
26 #define PDFTRANS_ISOLATED 0x0200 | 26 #define PDFTRANS_ISOLATED 0x0200 |
27 #define PDFTRANS_KNOCKOUT 0x0400 | 27 #define PDFTRANS_KNOCKOUT 0x0400 |
28 | 28 |
29 class CPDF_PageObjects { | 29 class CPDF_PageObjectList { |
30 public: | 30 public: |
31 CPDF_PageObjects(); | 31 CPDF_PageObjectList(); |
32 ~CPDF_PageObjects(); | 32 ~CPDF_PageObjectList(); |
33 | 33 |
34 void ContinueParse(IFX_Pause* pPause); | 34 void ContinueParse(IFX_Pause* pPause); |
35 | 35 |
36 FX_BOOL IsParsed() const { return m_ParseState == CONTENT_PARSED; } | 36 FX_BOOL IsParsed() const { return m_ParseState == CONTENT_PARSED; } |
37 | 37 |
38 FX_POSITION GetFirstObjectPosition() const { | 38 FX_POSITION GetFirstObjectPosition() const { |
39 return m_ObjectList.GetHeadPosition(); | 39 return m_ObjectList.GetHeadPosition(); |
40 } | 40 } |
41 | 41 |
42 FX_POSITION GetLastObjectPosition() const { | 42 FX_POSITION GetLastObjectPosition() const { |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
89 | 89 |
90 void LoadTransInfo(); | 90 void LoadTransInfo(); |
91 | 91 |
92 FX_BOOL m_bBackgroundAlphaNeeded; | 92 FX_BOOL m_bBackgroundAlphaNeeded; |
93 FX_BOOL m_bHasImageMask; | 93 FX_BOOL m_bHasImageMask; |
94 ParseState m_ParseState; | 94 ParseState m_ParseState; |
95 std::unique_ptr<CPDF_ContentParser> m_pParser; | 95 std::unique_ptr<CPDF_ContentParser> m_pParser; |
96 CFX_PtrList m_ObjectList; | 96 CFX_PtrList m_ObjectList; |
97 }; | 97 }; |
98 | 98 |
99 class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData { | 99 class CPDF_Page : public CPDF_PageObjectList, public CFX_PrivateData { |
100 public: | 100 public: |
101 CPDF_Page(); | 101 CPDF_Page(); |
102 ~CPDF_Page(); | 102 ~CPDF_Page(); |
103 | 103 |
104 void Load(CPDF_Document* pDocument, | 104 void Load(CPDF_Document* pDocument, |
105 CPDF_Dictionary* pPageDict, | 105 CPDF_Dictionary* pPageDict, |
106 FX_BOOL bPageCache = TRUE); | 106 FX_BOOL bPageCache = TRUE); |
107 | 107 |
108 void ParseContent(CPDF_ParseOptions* pOptions); | 108 void ParseContent(CPDF_ParseOptions* pOptions); |
109 | 109 |
(...skipping 25 matching lines...) Expand all Loading... |
135 CPDF_ParseOptions(); | 135 CPDF_ParseOptions(); |
136 | 136 |
137 FX_BOOL m_bTextOnly; | 137 FX_BOOL m_bTextOnly; |
138 | 138 |
139 FX_BOOL m_bMarkedContent; | 139 FX_BOOL m_bMarkedContent; |
140 | 140 |
141 FX_BOOL m_bSeparateForm; | 141 FX_BOOL m_bSeparateForm; |
142 | 142 |
143 FX_BOOL m_bDecodeInlineImage; | 143 FX_BOOL m_bDecodeInlineImage; |
144 }; | 144 }; |
145 class CPDF_Form : public CPDF_PageObjects { | 145 class CPDF_Form : public CPDF_PageObjectList { |
146 public: | 146 public: |
147 CPDF_Form(CPDF_Document* pDocument, | 147 CPDF_Form(CPDF_Document* pDocument, |
148 CPDF_Dictionary* pPageResources, | 148 CPDF_Dictionary* pPageResources, |
149 CPDF_Stream* pFormStream, | 149 CPDF_Stream* pFormStream, |
150 CPDF_Dictionary* pParentResources = NULL); | 150 CPDF_Dictionary* pParentResources = NULL); |
151 | 151 |
152 ~CPDF_Form(); | 152 ~CPDF_Form(); |
153 | 153 |
154 void StartParse(CPDF_AllStates* pGraphicStates, | 154 void StartParse(CPDF_AllStates* pGraphicStates, |
155 CFX_Matrix* pParentMatrix, | 155 CFX_Matrix* pParentMatrix, |
(...skipping 25 matching lines...) Expand all Loading... |
181 CFX_Matrix& matrix); | 181 CFX_Matrix& matrix); |
182 CFX_ByteString RealizeResource(CPDF_Object* pResourceObj, | 182 CFX_ByteString RealizeResource(CPDF_Object* pResourceObj, |
183 const FX_CHAR* szType); | 183 const FX_CHAR* szType); |
184 | 184 |
185 CPDF_Page* m_pPage; | 185 CPDF_Page* m_pPage; |
186 CPDF_Document* m_pDocument; | 186 CPDF_Document* m_pDocument; |
187 CFX_ArrayTemplate<CPDF_PageObject*> m_pageObjects; | 187 CFX_ArrayTemplate<CPDF_PageObject*> m_pageObjects; |
188 }; | 188 }; |
189 | 189 |
190 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ | 190 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ |
OLD | NEW |