diff options
Diffstat (limited to 'core/include/fpdfapi')
-rw-r--r-- | core/include/fpdfapi/fpdf_parser.h | 11 | ||||
-rw-r--r-- | core/include/fpdfapi/fpdf_resource.h | 72 |
2 files changed, 48 insertions, 35 deletions
diff --git a/core/include/fpdfapi/fpdf_parser.h b/core/include/fpdfapi/fpdf_parser.h index 53404b7586..5903e82a16 100644 --- a/core/include/fpdfapi/fpdf_parser.h +++ b/core/include/fpdfapi/fpdf_parser.h @@ -476,12 +476,16 @@ class IPDF_SecurityHandler { CPDF_Dictionary* pEncryptDict) = 0; virtual FX_DWORD GetPermissions() = 0; + virtual FX_BOOL GetCryptInfo(int& cipher, const uint8_t*& buffer, int& keylen) = 0; virtual FX_BOOL IsMetadataEncrypted() = 0; + virtual CPDF_CryptoHandler* CreateCryptoHandler() = 0; + + virtual CPDF_StandardSecurityHandler* GetStandardHandler() { return NULL; } }; #define PDF_ENCRYPT_CONTENT 0 @@ -793,22 +797,19 @@ class IPDF_DataAvail { }; enum PDF_PAGENODE_TYPE { - PDF_PAGENODE_UNKNOWN = 0, + PDF_PAGENODE_UNKOWN = 0, PDF_PAGENODE_PAGE, PDF_PAGENODE_PAGES, PDF_PAGENODE_ARRAY, }; - class CPDF_PageNode { public: - CPDF_PageNode(); + CPDF_PageNode() : m_type(PDF_PAGENODE_UNKOWN) {} ~CPDF_PageNode(); - PDF_PAGENODE_TYPE m_type; FX_DWORD m_dwPageNo; CFX_ArrayTemplate<CPDF_PageNode*> m_childNode; }; - enum PDF_DATAAVAIL_STATUS { PDF_DATAAVAIL_HEADER = 0, PDF_DATAAVAIL_FIRSTPAGE, diff --git a/core/include/fpdfapi/fpdf_resource.h b/core/include/fpdfapi/fpdf_resource.h index 6bae2ac469..450e878fa1 100644 --- a/core/include/fpdfapi/fpdf_resource.h +++ b/core/include/fpdfapi/fpdf_resource.h @@ -102,37 +102,39 @@ class CPDF_Font { virtual ~CPDF_Font(); - virtual bool IsType1Font() const; - virtual bool IsTrueTypeFont() const; - virtual bool IsType3Font() const; - virtual bool IsCIDFont() const; - virtual const CPDF_Type1Font* AsType1Font() const; - virtual CPDF_Type1Font* AsType1Font(); - virtual const CPDF_TrueTypeFont* AsTrueTypeFont() const; - virtual CPDF_TrueTypeFont* AsTrueTypeFont(); - virtual const CPDF_Type3Font* AsType3Font() const; - virtual CPDF_Type3Font* AsType3Font(); - virtual const CPDF_CIDFont* AsCIDFont() const; - virtual CPDF_CIDFont* AsCIDFont(); + virtual bool IsType1Font() const { return false; } + virtual bool IsTrueTypeFont() const { return false; } + virtual bool IsType3Font() const { return false; } + virtual bool IsCIDFont() const { return false; } + virtual const CPDF_Type1Font* AsType1Font() const { return nullptr; } + virtual CPDF_Type1Font* AsType1Font() { return nullptr; } + virtual const CPDF_TrueTypeFont* AsTrueTypeFont() const { return nullptr; } + virtual CPDF_TrueTypeFont* AsTrueTypeFont() { return nullptr; } + virtual const CPDF_Type3Font* AsType3Font() const { return nullptr; } + virtual CPDF_Type3Font* AsType3Font() { return nullptr; } + virtual const CPDF_CIDFont* AsCIDFont() const { return nullptr; } + virtual CPDF_CIDFont* AsCIDFont() { return nullptr; } virtual FX_BOOL IsVertWriting() const; - virtual FX_BOOL IsUnicodeCompatible() const; + virtual FX_BOOL IsUnicodeCompatible() const { return FALSE; } virtual FX_DWORD GetNextChar(const FX_CHAR* pString, int nStrLen, int& offset) const; - virtual int CountChar(const FX_CHAR* pString, int size) const; + virtual int CountChar(const FX_CHAR* pString, int size) const { return size; } virtual int AppendChar(FX_CHAR* buf, FX_DWORD charcode) const; - virtual int GetCharSize(FX_DWORD charcode) const; + virtual int GetCharSize(FX_DWORD charcode) const { return 1; } virtual int GlyphFromCharCode(FX_DWORD charcode, - FX_BOOL* pVertGlyph = nullptr); - virtual int GlyphFromCharCodeExt(FX_DWORD charcode); + FX_BOOL* pVertGlyph = NULL) = 0; + virtual int GlyphFromCharCodeExt(FX_DWORD charcode) { + return GlyphFromCharCode(charcode); + } virtual CFX_WideString UnicodeFromCharCode(FX_DWORD charcode) const; virtual FX_DWORD CharCodeFromUnicode(FX_WCHAR Unicode) const; const CFX_ByteString& GetBaseFont() const { return m_BaseFont; } const CFX_SubstFont* GetSubstFont() const { return m_Font.GetSubstFont(); } FX_DWORD GetFlags() const { return m_Flags; } - FX_BOOL IsEmbedded() const { return IsType3Font() || m_pFontFile != nullptr; } + FX_BOOL IsEmbedded() const { return IsType3Font() || m_pFontFile != NULL; } CPDF_StreamAcc* GetFontFile() const { return m_pFontFile; } CPDF_Dictionary* GetFontDict() const { return m_pFontDict; } FX_BOOL IsStandardFont() const; @@ -255,9 +257,9 @@ class CPDF_Type1Font : public CPDF_SimpleFont { CPDF_Type1Font(); // CPDF_Font: - bool IsType1Font() const override; - const CPDF_Type1Font* AsType1Font() const override; - CPDF_Type1Font* AsType1Font() override; + bool IsType1Font() const override { return true; } + const CPDF_Type1Font* AsType1Font() const override { return this; } + CPDF_Type1Font* AsType1Font() override { return this; } int GlyphFromCharCodeExt(FX_DWORD charcode) override; int GetBase14Font() const { return m_Base14Font; } @@ -277,9 +279,9 @@ class CPDF_TrueTypeFont : public CPDF_SimpleFont { CPDF_TrueTypeFont(); // CPDF_Font: - bool IsTrueTypeFont() const override; - const CPDF_TrueTypeFont* AsTrueTypeFont() const override; - CPDF_TrueTypeFont* AsTrueTypeFont() override; + bool IsTrueTypeFont() const override { return true; } + const CPDF_TrueTypeFont* AsTrueTypeFont() const override { return this; } + CPDF_TrueTypeFont* AsTrueTypeFont() override { return this; } protected: // CPDF_Font: @@ -311,9 +313,9 @@ class CPDF_Type3Font : public CPDF_SimpleFont { ~CPDF_Type3Font() override; // CPDF_Font: - bool IsType3Font() const override; - const CPDF_Type3Font* AsType3Font() const override; - CPDF_Type3Font* AsType3Font() override; + bool IsType3Font() const override { return true; } + const CPDF_Type3Font* AsType3Font() const override { return this; } + CPDF_Type3Font* AsType3Font() override { return this; } int GetCharWidthF(FX_DWORD charcode, int level = 0) override; FX_RECT GetCharBBox(FX_DWORD charcode, int level = 0) override; @@ -360,9 +362,9 @@ class CPDF_CIDFont : public CPDF_Font { static FX_FLOAT CIDTransformToFloat(uint8_t ch); // CPDF_Font: - bool IsCIDFont() const override; - const CPDF_CIDFont* AsCIDFont() const override; - CPDF_CIDFont* AsCIDFont() override; + bool IsCIDFont() const override { return true; } + const CPDF_CIDFont* AsCIDFont() const override { return this; } + CPDF_CIDFont* AsCIDFont() override { return this; } int GlyphFromCharCode(FX_DWORD charcode, FX_BOOL* pVertGlyph = NULL) override; int GetCharWidthF(FX_DWORD charcode, int level = 0) override; FX_RECT GetCharBBox(FX_DWORD charcode, int level = 0) override; @@ -432,10 +434,15 @@ class CPDF_ColorSpace { void ReleaseCS(); int GetBufSize() const; + FX_FLOAT* CreateBuf(); + void GetDefaultColor(FX_FLOAT* buf) const; + int CountComponents() const { return m_nComponents; } + int GetFamily() const { return m_Family; } + virtual void GetDefaultValue(int iComponent, FX_FLOAT& value, FX_FLOAT& min, @@ -446,10 +453,12 @@ class CPDF_ColorSpace { } FX_BOOL sRGB() const; + virtual FX_BOOL GetRGB(FX_FLOAT* pBuf, FX_FLOAT& R, FX_FLOAT& G, FX_FLOAT& B) const = 0; + virtual FX_BOOL SetRGB(FX_FLOAT* pBuf, FX_FLOAT R, FX_FLOAT G, @@ -462,6 +471,7 @@ class CPDF_ColorSpace { FX_FLOAT& m, FX_FLOAT& y, FX_FLOAT& k) const; + FX_BOOL SetCMYK(FX_FLOAT* pBuf, FX_FLOAT c, FX_FLOAT m, @@ -476,7 +486,9 @@ class CPDF_ColorSpace { FX_BOOL bTransMask = FALSE) const; CPDF_Array*& GetArray() { return m_pArray; } + int GetMaxIndex() const; + virtual CPDF_ColorSpace* GetBaseCS() const { return NULL; } virtual void EnableStdConversion(FX_BOOL bEnabled); |