Index: core/fpdfapi/page/pageint.h |
diff --git a/core/fpdfapi/page/pageint.h b/core/fpdfapi/page/pageint.h |
index 49a4845e9613b60ddd318a59010365e6a59e275f..6700633604a58b0f4c72aa651eb374ad036666de 100644 |
--- a/core/fpdfapi/page/pageint.h |
+++ b/core/fpdfapi/page/pageint.h |
@@ -7,120 +7,17 @@ |
#ifndef CORE_FPDFAPI_PAGE_PAGEINT_H_ |
#define CORE_FPDFAPI_PAGE_PAGEINT_H_ |
-#include <map> |
#include <memory> |
-#include <set> |
-#include <unordered_map> |
-#include <utility> |
#include <vector> |
-#include "core/fpdfapi/page/cpdf_contentmark.h" |
+#include "core/fpdfapi/page/cpdf_colorspace.h" |
#include "core/fpdfapi/page/cpdf_countedobject.h" |
-#include "core/fpdfapi/page/cpdf_pageobjectholder.h" |
-#include "core/fpdfapi/page/cpdf_streamcontentparser.h" |
-#include "core/fpdfapi/parser/cpdf_stream.h" |
-#include "core/fxcrt/cfx_string_pool_template.h" |
-#include "core/fxcrt/cfx_weak_ptr.h" |
-#include "core/fxge/cfx_pathdata.h" |
-#include "core/fxge/cfx_renderdevice.h" |
- |
-class CPDF_AllStates; |
-class CPDF_ColorSpace; |
+ |
class CPDF_ExpIntFunc; |
-class CPDF_Font; |
-class CPDF_FontEncoding; |
-class CPDF_Form; |
-class CPDF_IccProfile; |
-class CPDF_Image; |
-class CPDF_ImageObject; |
-class CPDF_Page; |
class CPDF_Pattern; |
class CPDF_SampledFunc; |
class CPDF_StitchFunc; |
class CPDF_StreamAcc; |
-class CPDF_TextObject; |
-class CPDF_Type3Char; |
- |
-#define PARSE_STEP_LIMIT 100 |
- |
-class CPDF_StreamParser { |
- public: |
- enum SyntaxType { EndOfData, Number, Keyword, Name, Others }; |
- |
- CPDF_StreamParser(const uint8_t* pData, uint32_t dwSize); |
- CPDF_StreamParser(const uint8_t* pData, |
- uint32_t dwSize, |
- const CFX_WeakPtr<CFX_ByteStringPool>& pPool); |
- ~CPDF_StreamParser(); |
- |
- SyntaxType ParseNextElement(); |
- uint8_t* GetWordBuf() { return m_WordBuffer; } |
- uint32_t GetWordSize() const { return m_WordSize; } |
- uint32_t GetPos() const { return m_Pos; } |
- void SetPos(uint32_t pos) { m_Pos = pos; } |
- std::unique_ptr<CPDF_Object> GetObject() { return std::move(m_pLastObj); } |
- std::unique_ptr<CPDF_Object> ReadNextObject(bool bAllowNestedArray, |
- uint32_t dwInArrayLevel); |
- std::unique_ptr<CPDF_Stream> ReadInlineStream( |
- CPDF_Document* pDoc, |
- std::unique_ptr<CPDF_Dictionary> pDict, |
- CPDF_Object* pCSObj); |
- |
- private: |
- friend class cpdf_streamparser_ReadHexString_Test; |
- |
- void GetNextWord(bool& bIsNumber); |
- CFX_ByteString ReadString(); |
- CFX_ByteString ReadHexString(); |
- bool PositionIsInBounds() const; |
- |
- const uint8_t* m_pBuf; |
- uint32_t m_Size; // Length in bytes of m_pBuf. |
- uint32_t m_Pos; // Current byte position within m_pBuf. |
- uint8_t m_WordBuffer[256]; |
- uint32_t m_WordSize; |
- std::unique_ptr<CPDF_Object> m_pLastObj; |
- CFX_WeakPtr<CFX_ByteStringPool> m_pPool; |
-}; |
- |
-#define _FPDF_MAX_TYPE3_FORM_LEVEL_ 4 |
- |
-class CPDF_ContentParser { |
- public: |
- enum ParseStatus { Ready, ToBeContinued, Done }; |
- |
- CPDF_ContentParser(); |
- ~CPDF_ContentParser(); |
- |
- ParseStatus GetStatus() const { return m_Status; } |
- void Start(CPDF_Page* pPage); |
- void Start(CPDF_Form* pForm, |
- CPDF_AllStates* pGraphicStates, |
- const CFX_Matrix* pParentMatrix, |
- CPDF_Type3Char* pType3Char, |
- int level); |
- void Continue(IFX_Pause* pPause); |
- |
- private: |
- enum InternalStage { |
- STAGE_GETCONTENT = 1, |
- STAGE_PARSE, |
- STAGE_CHECKCLIP, |
- }; |
- |
- ParseStatus m_Status; |
- InternalStage m_InternalStage; |
- CPDF_PageObjectHolder* m_pObjectHolder; |
- bool m_bForm; |
- CPDF_Type3Char* m_pType3Char; |
- uint32_t m_nStreams; |
- std::unique_ptr<CPDF_StreamAcc> m_pSingleStream; |
- std::vector<std::unique_ptr<CPDF_StreamAcc>> m_StreamArray; |
- uint8_t* m_pData; |
- uint32_t m_Size; |
- uint32_t m_CurrentOffset; |
- std::unique_ptr<CPDF_StreamContentParser> m_pParser; |
-}; |
class CPDF_Function { |
public: |