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_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ | 7 #ifndef CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ |
8 #define CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ | 8 #define CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ |
9 | 9 |
10 #include <map> | 10 #include <map> |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
86 }; | 86 }; |
87 #define _FPDF_MAX_FORM_LEVEL_ 30 | 87 #define _FPDF_MAX_FORM_LEVEL_ 30 |
88 #define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 | 88 #define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 |
89 #define _FPDF_MAX_OBJECT_STACK_SIZE_ 512 | 89 #define _FPDF_MAX_OBJECT_STACK_SIZE_ 512 |
90 class CPDF_StreamContentParser { | 90 class CPDF_StreamContentParser { |
91 public: | 91 public: |
92 CPDF_StreamContentParser(CPDF_Document* pDoc, | 92 CPDF_StreamContentParser(CPDF_Document* pDoc, |
93 CPDF_Dictionary* pPageResources, | 93 CPDF_Dictionary* pPageResources, |
94 CPDF_Dictionary* pParentResources, | 94 CPDF_Dictionary* pParentResources, |
95 CFX_Matrix* pmtContentToUser, | 95 CFX_Matrix* pmtContentToUser, |
96 CPDF_PageObjects* pObjList, | 96 CPDF_PageObjectList* pObjList, |
97 CPDF_Dictionary* pResources, | 97 CPDF_Dictionary* pResources, |
98 CFX_FloatRect* pBBox, | 98 CFX_FloatRect* pBBox, |
99 CPDF_ParseOptions* pOptions, | 99 CPDF_ParseOptions* pOptions, |
100 CPDF_AllStates* pAllStates, | 100 CPDF_AllStates* pAllStates, |
101 int level); | 101 int level); |
102 ~CPDF_StreamContentParser(); | 102 ~CPDF_StreamContentParser(); |
103 | 103 |
104 CPDF_PageObjects* GetObjectList() const { return m_pObjectList; } | 104 CPDF_PageObjectList* GetObjectList() const { return m_pObjectList; } |
105 CPDF_AllStates* GetCurStates() const { return m_pCurStates.get(); } | 105 CPDF_AllStates* GetCurStates() const { return m_pCurStates.get(); } |
106 FX_BOOL IsColored() const { return m_bColored; } | 106 FX_BOOL IsColored() const { return m_bColored; } |
107 const FX_FLOAT* GetType3Data() const { return m_Type3Data; } | 107 const FX_FLOAT* GetType3Data() const { return m_Type3Data; } |
108 | 108 |
109 void AddNumberParam(const FX_CHAR* str, int len); | 109 void AddNumberParam(const FX_CHAR* str, int len); |
110 void AddObjectParam(CPDF_Object* pObj); | 110 void AddObjectParam(CPDF_Object* pObj); |
111 void AddNameParam(const FX_CHAR* name, int size); | 111 void AddNameParam(const FX_CHAR* name, int size); |
112 int GetNextParamPos(); | 112 int GetNextParamPos(); |
113 void ClearAllParams(); | 113 void ClearAllParams(); |
114 CPDF_Object* GetObject(FX_DWORD index); | 114 CPDF_Object* GetObject(FX_DWORD index); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
228 void Handle_EOClip(); | 228 void Handle_EOClip(); |
229 void Handle_CurveTo_13(); | 229 void Handle_CurveTo_13(); |
230 void Handle_NextLineShowText(); | 230 void Handle_NextLineShowText(); |
231 void Handle_NextLineShowText_Space(); | 231 void Handle_NextLineShowText_Space(); |
232 void Handle_Invalid(); | 232 void Handle_Invalid(); |
233 | 233 |
234 CPDF_Document* const m_pDocument; | 234 CPDF_Document* const m_pDocument; |
235 CPDF_Dictionary* m_pPageResources; | 235 CPDF_Dictionary* m_pPageResources; |
236 CPDF_Dictionary* m_pParentResources; | 236 CPDF_Dictionary* m_pParentResources; |
237 CPDF_Dictionary* m_pResources; | 237 CPDF_Dictionary* m_pResources; |
238 CPDF_PageObjects* m_pObjectList; | 238 CPDF_PageObjectList* m_pObjectList; |
239 int m_Level; | 239 int m_Level; |
240 CFX_Matrix m_mtContentToUser; | 240 CFX_Matrix m_mtContentToUser; |
241 CFX_FloatRect m_BBox; | 241 CFX_FloatRect m_BBox; |
242 CPDF_ParseOptions m_Options; | 242 CPDF_ParseOptions m_Options; |
243 ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; | 243 ContentParam m_ParamBuf1[PARAM_BUF_SIZE]; |
244 FX_DWORD m_ParamStartPos; | 244 FX_DWORD m_ParamStartPos; |
245 FX_DWORD m_ParamCount; | 245 FX_DWORD m_ParamCount; |
246 CPDF_StreamParser* m_pSyntax; | 246 CPDF_StreamParser* m_pSyntax; |
247 std::unique_ptr<CPDF_AllStates> m_pCurStates; | 247 std::unique_ptr<CPDF_AllStates> m_pCurStates; |
248 CPDF_ContentMark m_CurContentMark; | 248 CPDF_ContentMark m_CurContentMark; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
290 | 290 |
291 private: | 291 private: |
292 enum InternalStage { | 292 enum InternalStage { |
293 STAGE_GETCONTENT = 1, | 293 STAGE_GETCONTENT = 1, |
294 STAGE_PARSE, | 294 STAGE_PARSE, |
295 STAGE_CHECKCLIP, | 295 STAGE_CHECKCLIP, |
296 }; | 296 }; |
297 | 297 |
298 ParseStatus m_Status; | 298 ParseStatus m_Status; |
299 InternalStage m_InternalStage; | 299 InternalStage m_InternalStage; |
300 CPDF_PageObjects* m_pObjects; | 300 CPDF_PageObjectList* m_pObjects; |
301 FX_BOOL m_bForm; | 301 FX_BOOL m_bForm; |
302 CPDF_ParseOptions m_Options; | 302 CPDF_ParseOptions m_Options; |
303 CPDF_Type3Char* m_pType3Char; | 303 CPDF_Type3Char* m_pType3Char; |
304 FX_DWORD m_nStreams; | 304 FX_DWORD m_nStreams; |
305 std::unique_ptr<CPDF_StreamAcc> m_pSingleStream; | 305 std::unique_ptr<CPDF_StreamAcc> m_pSingleStream; |
306 std::vector<std::unique_ptr<CPDF_StreamAcc>> m_StreamArray; | 306 std::vector<std::unique_ptr<CPDF_StreamAcc>> m_StreamArray; |
307 uint8_t* m_pData; | 307 uint8_t* m_pData; |
308 FX_DWORD m_Size; | 308 FX_DWORD m_Size; |
309 FX_DWORD m_CurrentOffset; | 309 FX_DWORD m_CurrentOffset; |
310 std::unique_ptr<CPDF_StreamContentParser> m_pParser; | 310 std::unique_ptr<CPDF_StreamContentParser> m_pParser; |
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
452 | 452 |
453 private: | 453 private: |
454 CPDF_ColorSpace* m_pBaseCS; | 454 CPDF_ColorSpace* m_pBaseCS; |
455 CPDF_CountedColorSpace* m_pCountedBaseCS; | 455 CPDF_CountedColorSpace* m_pCountedBaseCS; |
456 }; | 456 }; |
457 | 457 |
458 void PDF_ReplaceAbbr(CPDF_Object* pObj); | 458 void PDF_ReplaceAbbr(CPDF_Object* pObj); |
459 bool IsPathOperator(const uint8_t* buf, size_t len); | 459 bool IsPathOperator(const uint8_t* buf, size_t len); |
460 | 460 |
461 #endif // CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ | 461 #endif // CORE_SRC_FPDFAPI_FPDF_PAGE_PAGEINT_H_ |
OLD | NEW |