📄 bpdfobject.h
字号:
#pragma once
class CBPdf;
class CBXrefEntry
{
// Creation
public:
CBXrefEntry();
CBXrefEntry(DWORD dwObjectNumber, DWORD dwOffset);
// Attributes
public:
DWORD m_dwObjectNumber;
DWORD m_dwOffset;
};
class CBPdfObject
{
// Creation
public:
CBPdfObject(CBPdfObject* pobjParent);
// Overrides
public:
virtual void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
virtual DWORD GetImage();
virtual CBPdfObject* GetParent();
virtual CString GetType();
virtual void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
virtual void SaveAsDotVerbose(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
virtual void SaveAsText(CBPdf* ppdf, FILE* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
// Implementation
public:
virtual ~CBPdfObject();
private:
CBPdfObject* m_pobjParent;
};
class CBPdfArray : public CBPdfObject
{
// Creation
public:
CBPdfArray(CBPdfObject* pobjParent);
// Operations
public:
void Add(CBPdfObject* pobj);
// Overrides
public:
void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
DWORD GetImage();
CString GetType();
void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
//Implementation
public:
~CBPdfArray();
private:
CArray<CBPdfObject*, CBPdfObject*> m_array;
};
class CBPdfDictionary : public CBPdfObject
{
// Creation
public:
CBPdfDictionary(CBPdfObject* pobjParent);
// Attributes
// Operations
public:
void Add(CString strKey, CBPdfObject* pobj);
BOOL Lookup(CString strKey, CBPdfObject** ppobj);
// Overrides
public:
void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
DWORD GetImage();
CString GetType();
void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
//Implementation
public:
~CBPdfDictionary();
private:
CMap<CString, LPCSTR, CBPdfObject*, CBPdfObject*> m_map;
};
class CBPdfStream : public CBPdfObject
{
// Creation
public:
CBPdfStream(CBPdfObject* pobjParent, CBPdfDictionary* pdict, DWORD dwPos, DWORD dwSize);
// Attributes
DWORD GetStreamPos();
DWORD GetStreamSize();
// Operations
public:
// Overrides
public:
void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
DWORD GetImage();
CString GetType();
void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
//Implementation
public:
~CBPdfStream();
private:
DWORD m_dwPos;
DWORD m_dwSize;
CBPdfDictionary* m_pdict;
};
class CBPdfValue : public CBPdfObject
{
// Creation
public:
CBPdfValue(CBPdfObject* pobjParent, CString str);
~CBPdfValue();
// Operations
public:
CString GetString();
// Overrides
public:
void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
DWORD GetImage();
CString GetType();
void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
//Implementation
private:
CString m_str;
};
class CBPdfReference : public CBPdfObject
{
// Creation
public:
CBPdfReference(CBPdfObject* pobjParent, CString str);
~CBPdfReference();
// Operations
public:
CString GetString();
// Overrides
public:
void Draw(CBPdf* ppdf, CTreeCtrl* ptree, HTREEITEM hti, DWORD dwDepth, DWORD dwMaxDepth);
DWORD GetImage();
CString GetType();
void SaveAsDot(CBPdf* ppdf, CStdioFile* pfile, CString strParent, DWORD dwDepth, DWORD dwMaxDepth);
//Implementation
private:
CString m_str;
CBPdfObject* m_pobj;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -