summaryrefslogtreecommitdiff
path: root/core/include/fpdfapi
diff options
context:
space:
mode:
Diffstat (limited to 'core/include/fpdfapi')
-rw-r--r--core/include/fpdfapi/fpdf_parser.h11
-rw-r--r--core/include/fpdfapi/fpdf_resource.h72
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);