| 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 |