Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(459)

Side by Side Diff: core/include/fpdfapi/fpdf_page.h

Issue 1265503005: clang-format all pdfium code. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: sigh Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "../fxge/fx_dib.h" 10 #include "../fxge/fx_dib.h"
11 #include "fpdf_parser.h" 11 #include "fpdf_parser.h"
12 #include "fpdf_resource.h" 12 #include "fpdf_resource.h"
13 13
14 class CPDF_PageObjects; 14 class CPDF_PageObjects;
15 class CPDF_Page; 15 class CPDF_Page;
16 class CPDF_Form; 16 class CPDF_Form;
17 class CPDF_ParseOptions; 17 class CPDF_ParseOptions;
18 class CPDF_PageObject; 18 class CPDF_PageObject;
19 class CPDF_PageRenderCache; 19 class CPDF_PageRenderCache;
20 class CPDF_StreamFilter; 20 class CPDF_StreamFilter;
21 class CPDF_AllStates; 21 class CPDF_AllStates;
22 class CPDF_ContentParser; 22 class CPDF_ContentParser;
23 class CPDF_StreamContentParser; 23 class CPDF_StreamContentParser;
24 #define PDFTRANS_GROUP» » » 0x0100 24 #define PDFTRANS_GROUP 0x0100
25 #define PDFTRANS_ISOLATED» » 0x0200 25 #define PDFTRANS_ISOLATED 0x0200
26 #define PDFTRANS_KNOCKOUT» » 0x0400 26 #define PDFTRANS_KNOCKOUT 0x0400
27 27
28 class CPDF_PageObjects 28 class CPDF_PageObjects {
29 { 29 public:
30 public: 30 CPDF_PageObjects(FX_BOOL bReleaseMembers = TRUE);
31 CPDF_PageObjects(FX_BOOL bReleaseMembers = TRUE); 31 ~CPDF_PageObjects();
32 ~CPDF_PageObjects();
33 32
34 void» » » » ContinueParse(IFX_Pause* pPause); 33 void ContinueParse(IFX_Pause* pPause);
35 34
36 FX_BOOL» » » » IsParsed() const 35 FX_BOOL IsParsed() const { return m_ParseState == CONTENT_PARSED; }
37 {
38 return m_ParseState == CONTENT_PARSED;
39 }
40 36
41 FX_POSITION»» » GetFirstObjectPosition() const 37 FX_POSITION GetFirstObjectPosition() const {
42 { 38 return m_ObjectList.GetHeadPosition();
43 return m_ObjectList.GetHeadPosition(); 39 }
44 }
45 40
46 FX_POSITION»» » GetLastObjectPosition() const 41 FX_POSITION GetLastObjectPosition() const {
47 { 42 return m_ObjectList.GetTailPosition();
48 return m_ObjectList.GetTailPosition(); 43 }
49 }
50 44
51 CPDF_PageObject*» GetNextObject(FX_POSITION& pos) const 45 CPDF_PageObject* GetNextObject(FX_POSITION& pos) const {
52 { 46 return (CPDF_PageObject*)m_ObjectList.GetNext(pos);
53 return (CPDF_PageObject*)m_ObjectList.GetNext(pos); 47 }
54 }
55 48
56 CPDF_PageObject*» GetPrevObject(FX_POSITION& pos) const 49 CPDF_PageObject* GetPrevObject(FX_POSITION& pos) const {
57 { 50 return (CPDF_PageObject*)m_ObjectList.GetPrev(pos);
58 return (CPDF_PageObject*)m_ObjectList.GetPrev(pos); 51 }
59 }
60 52
61 CPDF_PageObject*» GetObjectAt(FX_POSITION pos) const 53 CPDF_PageObject* GetObjectAt(FX_POSITION pos) const {
62 { 54 return (CPDF_PageObject*)m_ObjectList.GetAt(pos);
63 return (CPDF_PageObject*)m_ObjectList.GetAt(pos); 55 }
64 }
65 56
66 FX_DWORD» » » CountObjects() const 57 FX_DWORD CountObjects() const { return m_ObjectList.GetCount(); }
67 {
68 return m_ObjectList.GetCount();
69 }
70 58
71 int»» » » » GetObjectIndex(CPDF_PageObject* pObj) co nst; 59 int GetObjectIndex(CPDF_PageObject* pObj) const;
72 60
73 CPDF_PageObject*» GetObjectByIndex(int index) const; 61 CPDF_PageObject* GetObjectByIndex(int index) const;
74 62
75 FX_POSITION»» » InsertObject(FX_POSITION posInsertAfter, CPDF_Pa geObject* pNewObject); 63 FX_POSITION InsertObject(FX_POSITION posInsertAfter,
64 CPDF_PageObject* pNewObject);
76 65
77 void» » » » Transform(const CFX_AffineMatrix& matrix ); 66 void Transform(const CFX_AffineMatrix& matrix);
78 67
79 FX_BOOL» » » » BackgroundAlphaNeeded() const 68 FX_BOOL BackgroundAlphaNeeded() const { return m_bBackgroundAlphaNeeded; }
80 {
81 return m_bBackgroundAlphaNeeded;
82 }
83 69
84 CFX_FloatRect» » CalcBoundingBox() const; 70 CFX_FloatRect CalcBoundingBox() const;
85 71
86 CPDF_Dictionary*» m_pFormDict; 72 CPDF_Dictionary* m_pFormDict;
87 CPDF_Stream*» » m_pFormStream; 73 CPDF_Stream* m_pFormStream;
88 CPDF_Document*» » m_pDocument; 74 CPDF_Document* m_pDocument;
89 CPDF_Dictionary*» m_pPageResources; 75 CPDF_Dictionary* m_pPageResources;
90 CPDF_Dictionary*» m_pResources; 76 CPDF_Dictionary* m_pResources;
91 CFX_FloatRect» » m_BBox; 77 CFX_FloatRect m_BBox;
92 int»» » » » m_Transparency; 78 int m_Transparency;
93 79
94 protected: 80 protected:
95 friend class» » CPDF_ContentParser; 81 friend class CPDF_ContentParser;
96 friend class» » CPDF_StreamContentParser; 82 friend class CPDF_StreamContentParser;
97 friend class» » CPDF_AllStates; 83 friend class CPDF_AllStates;
98 84
99 enum ParseState { 85 enum ParseState { CONTENT_NOT_PARSED, CONTENT_PARSING, CONTENT_PARSED };
100 CONTENT_NOT_PARSED,
101 CONTENT_PARSING,
102 CONTENT_PARSED
103 };
104 86
105 void» » » » LoadTransInfo(); 87 void LoadTransInfo();
106 void ClearCacheObjects(); 88 void ClearCacheObjects();
107 89
108 CFX_PtrList»» » m_ObjectList; 90 CFX_PtrList m_ObjectList;
109 FX_BOOL» » » » m_bBackgroundAlphaNeeded; 91 FX_BOOL m_bBackgroundAlphaNeeded;
110 FX_BOOL» » » » m_bReleaseMembers; 92 FX_BOOL m_bReleaseMembers;
111 CPDF_ContentParser*»m_pParser; 93 CPDF_ContentParser* m_pParser;
112 ParseState» » » m_ParseState; 94 ParseState m_ParseState;
113 }; 95 };
114 96
115 class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData 97 class CPDF_Page : public CPDF_PageObjects, public CFX_PrivateData {
116 { 98 public:
117 public: 99 CPDF_Page();
118 100
119 CPDF_Page(); 101 ~CPDF_Page();
120 102
121 ~CPDF_Page(); 103 void Load(CPDF_Document* pDocument,
104 CPDF_Dictionary* pPageDict,
105 FX_BOOL bPageCache = TRUE);
122 106
123 void» » » » Load(CPDF_Document* pDocument, CPDF_Dict ionary* pPageDict, FX_BOOL bPageCache = TRUE); 107 void StartParse(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE);
124 108
125 void» » » » StartParse(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE); 109 void ParseContent(CPDF_ParseOptions* pOptions = NULL,
110 FX_BOOL bReParse = FALSE);
126 111
127 void» » » » ParseContent(CPDF_ParseOptions* pOptions = NULL, FX_BOOL bReParse = FALSE); 112 void GetDisplayMatrix(CFX_AffineMatrix& matrix,
113 int xPos,
114 int yPos,
115 int xSize,
116 int ySize,
117 int iRotate) const;
128 118
129 void» » » » GetDisplayMatrix(CFX_AffineMatrix& matri x, int xPos, int yPos, 119 FX_FLOAT GetPageWidth() const { return m_PageWidth; }
130 int xSize, int ySize, int iRotate) cons t;
131 120
132 FX_FLOAT» » » GetPageWidth() const 121 FX_FLOAT GetPageHeight() const { return m_PageHeight; }
133 {
134 return m_PageWidth;
135 }
136 122
137 FX_FLOAT» » » GetPageHeight() const 123 CFX_FloatRect GetPageBBox() const { return m_BBox; }
138 {
139 return m_PageHeight;
140 }
141 124
142 CFX_FloatRect» » GetPageBBox() const 125 const CFX_AffineMatrix& GetPageMatrix() const { return m_PageMatrix; }
143 {
144 return m_BBox;
145 }
146 126
147 const CFX_AffineMatrix&» GetPageMatrix() const 127 CPDF_Object* GetPageAttr(const CFX_ByteStringC& name) const;
148 {
149 return m_PageMatrix;
150 }
151 128
152 CPDF_Object*» » GetPageAttr(const CFX_ByteStringC& name) const; 129 CPDF_PageRenderCache* GetRenderCache() const { return m_pPageRender; }
153 130
131 void ClearRenderCache();
154 132
133 protected:
134 friend class CPDF_ContentParser;
155 135
156 CPDF_PageRenderCache*» GetRenderCache() const 136 FX_FLOAT m_PageWidth;
157 {
158 return m_pPageRender;
159 }
160 137
161 void» » » » ClearRenderCache(); 138 FX_FLOAT m_PageHeight;
162 139
163 protected: 140 CFX_AffineMatrix m_PageMatrix;
164 friend class» » CPDF_ContentParser;
165 141
166 FX_FLOAT» » » m_PageWidth; 142 CPDF_PageRenderCache* m_pPageRender;
143 };
144 class CPDF_ParseOptions {
145 public:
146 CPDF_ParseOptions();
167 147
168 FX_FLOAT» » » m_PageHeight; 148 FX_BOOL m_bTextOnly;
169 149
170 CFX_AffineMatrix» m_PageMatrix; 150 FX_BOOL m_bMarkedContent;
171 151
172 CPDF_PageRenderCache*» m_pPageRender; 152 FX_BOOL m_bSeparateForm;
153
154 FX_BOOL m_bDecodeInlineImage;
173 }; 155 };
174 class CPDF_ParseOptions 156 class CPDF_Form : public CPDF_PageObjects {
175 { 157 public:
176 public: 158 CPDF_Form(CPDF_Document* pDocument,
159 CPDF_Dictionary* pPageResources,
160 CPDF_Stream* pFormStream,
161 CPDF_Dictionary* pParentResources = NULL);
177 162
178 CPDF_ParseOptions(); 163 ~CPDF_Form();
179 164
180 FX_BOOL» » » » m_bTextOnly; 165 void StartParse(CPDF_AllStates* pGraphicStates,
166 CFX_AffineMatrix* pParentMatrix,
167 CPDF_Type3Char* pType3Char,
168 CPDF_ParseOptions* pOptions,
169 int level = 0);
181 170
182 FX_BOOL» » » » m_bMarkedContent; 171 void ParseContent(CPDF_AllStates* pGraphicStates,
172 CFX_AffineMatrix* pParentMatrix,
173 CPDF_Type3Char* pType3Char,
174 CPDF_ParseOptions* pOptions,
175 int level = 0);
183 176
184 FX_BOOL» » » » m_bSeparateForm; 177 CPDF_Form* Clone() const;
178 };
179 class CPDF_PageContentGenerate {
180 public:
181 CPDF_PageContentGenerate(CPDF_Page* pPage);
182 ~CPDF_PageContentGenerate();
183 FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject);
184 void GenerateContent();
185 void TransformContent(CFX_Matrix& matrix);
185 186
186 FX_BOOL» » » » m_bDecodeInlineImage; 187 protected:
187 }; 188 void ProcessImage(CFX_ByteTextBuf& buf, CPDF_ImageObject* pImageObj);
188 class CPDF_Form : public CPDF_PageObjects 189 void ProcessForm(CFX_ByteTextBuf& buf,
189 { 190 const uint8_t* data,
190 public: 191 FX_DWORD size,
192 CFX_Matrix& matrix);
193 CFX_ByteString RealizeResource(CPDF_Object* pResourceObj,
194 const FX_CHAR* szType);
191 195
192 CPDF_Form(CPDF_Document* pDocument, CPDF_Dictionary* pPageResources, CPDF_St ream* pFormStream, CPDF_Dictionary* pParentResources = NULL); 196 private:
193 197 CPDF_Page* m_pPage;
194 ~CPDF_Form(); 198 CPDF_Document* m_pDocument;
195 199 CFX_PtrArray m_pageObjects;
196 void» » » » StartParse(CPDF_AllStates* pGraphicState s, CFX_AffineMatrix* pParentMatrix,
197 CPDF_Type3Char* pType3Char, CPDF_ParseOptions * pOptions, int level = 0);
198
199 void» » » » ParseContent(CPDF_AllStates* pGraphicSta tes, CFX_AffineMatrix* pParentMatrix,
200 CPDF_Type3Char* pType3Char, CPDF_ParseOptio ns* pOptions, int level = 0);
201
202 CPDF_Form*» » » Clone() const;
203 };
204 class CPDF_PageContentGenerate
205 {
206 public:
207 CPDF_PageContentGenerate(CPDF_Page* pPage);
208 ~CPDF_PageContentGenerate();
209 FX_BOOL InsertPageObject(CPDF_PageObject* pPageObject);
210 void GenerateContent();
211 void TransformContent(CFX_Matrix& matrix);
212 protected:
213 void ProcessImage(CFX_ByteTextBuf& buf, CPDF_ImageObject* pImageO bj);
214 void ProcessForm(CFX_ByteTextBuf& buf, const uint8_t* data, FX_DW ORD size, CFX_Matrix& matrix);
215 CFX_ByteString RealizeResource(CPDF_Object* pResourceObj, const FX_CHAR* sz Type);
216 private:
217 CPDF_Page* m_pPage;
218 CPDF_Document* m_pDocument;
219 CFX_PtrArray m_pageObjects;
220 }; 200 };
221 201
222 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_ 202 #endif // CORE_INCLUDE_FPDFAPI_FPDF_PAGE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698