Index: core/include/fpdfdoc/fpdf_doc.h |
diff --git a/core/include/fpdfdoc/fpdf_doc.h b/core/include/fpdfdoc/fpdf_doc.h |
index fc9d3bce878e61c3682bfd7e4106423d1d394fe6..18dc7aa06419696e81797d84e0c23d1e5053205b 100644 |
--- a/core/include/fpdfdoc/fpdf_doc.h |
+++ b/core/include/fpdfdoc/fpdf_doc.h |
@@ -42,1663 +42,1220 @@ class CPDF_TextObject; |
class CPDF_ViewerPreferences; |
class CXML_Element; |
-class CPDF_NameTree |
-{ |
-public: |
+class CPDF_NameTree { |
+ public: |
+ CPDF_NameTree(CPDF_Dictionary* pRoot) { m_pRoot = pRoot; } |
- CPDF_NameTree(CPDF_Dictionary* pRoot) |
- { |
- m_pRoot = pRoot; |
- } |
+ CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteStringC& category); |
- CPDF_NameTree(CPDF_Document* pDoc, const CFX_ByteStringC& category); |
+ CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const; |
- CPDF_Object* LookupValue(int nIndex, CFX_ByteString& csName) const; |
+ CPDF_Object* LookupValue(const CFX_ByteString& csName) const; |
- CPDF_Object* LookupValue(const CFX_ByteString& csName) const; |
+ CPDF_Array* LookupNamedDest(CPDF_Document* pDoc, |
+ const CFX_ByteStringC& sName); |
- CPDF_Array* LookupNamedDest(CPDF_Document* pDoc, const CFX_ByteStringC& sName); |
+ int GetIndex(const CFX_ByteString& csName) const; |
- int GetIndex(const CFX_ByteString& csName) const; |
+ int GetCount() const; |
- int GetCount() const; |
+ CPDF_Dictionary* GetRoot() const { return m_pRoot; } |
- |
- CPDF_Dictionary* GetRoot() const |
- { |
- return m_pRoot; |
- } |
- |
-protected: |
- |
- CPDF_Dictionary* m_pRoot; |
+ protected: |
+ CPDF_Dictionary* m_pRoot; |
}; |
-class CPDF_BookmarkTree |
-{ |
-public: |
- CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {} |
+class CPDF_BookmarkTree { |
+ public: |
+ CPDF_BookmarkTree(CPDF_Document* pDoc) : m_pDocument(pDoc) {} |
- CPDF_Bookmark GetFirstChild(const CPDF_Bookmark& parent) const; |
+ CPDF_Bookmark GetFirstChild(const CPDF_Bookmark& parent) const; |
- CPDF_Bookmark GetNextSibling(const CPDF_Bookmark& bookmark) const; |
+ CPDF_Bookmark GetNextSibling(const CPDF_Bookmark& bookmark) const; |
- CPDF_Document* GetDocument() const { return m_pDocument; } |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
-protected: |
- CPDF_Document* m_pDocument; |
+ protected: |
+ CPDF_Document* m_pDocument; |
}; |
-#define PDFBOOKMARK_ITALIC 1 |
-#define PDFBOOKMARK_BOLD 2 |
-class CPDF_Bookmark |
-{ |
-public: |
- |
- CPDF_Bookmark() : m_pDict(NULL) {} |
+#define PDFBOOKMARK_ITALIC 1 |
+#define PDFBOOKMARK_BOLD 2 |
+class CPDF_Bookmark { |
+ public: |
+ CPDF_Bookmark() : m_pDict(NULL) {} |
- explicit CPDF_Bookmark(CPDF_Dictionary* pDict) : m_pDict(pDict) {} |
+ explicit CPDF_Bookmark(CPDF_Dictionary* pDict) : m_pDict(pDict) {} |
- CPDF_Dictionary* GetDict() const { return m_pDict; } |
+ CPDF_Dictionary* GetDict() const { return m_pDict; } |
- operator bool() const { return m_pDict != NULL; } |
+ operator bool() const { return m_pDict != NULL; } |
- FX_DWORD GetColorRef() const; |
+ FX_DWORD GetColorRef() const; |
- FX_DWORD GetFontStyle() const; |
+ FX_DWORD GetFontStyle() const; |
- CFX_WideString GetTitle() const; |
+ CFX_WideString GetTitle() const; |
- CPDF_Dest GetDest(CPDF_Document* pDocument) const; |
+ CPDF_Dest GetDest(CPDF_Document* pDocument) const; |
- CPDF_Action GetAction() const; |
+ CPDF_Action GetAction() const; |
- CPDF_Dictionary* m_pDict; |
+ CPDF_Dictionary* m_pDict; |
}; |
-#define PDFZOOM_XYZ 1 |
-#define PDFZOOM_FITPAGE 2 |
-#define PDFZOOM_FITHORZ 3 |
-#define PDFZOOM_FITVERT 4 |
-#define PDFZOOM_FITRECT 5 |
-#define PDFZOOM_FITBBOX 6 |
-#define PDFZOOM_FITBHORZ 7 |
-#define PDFZOOM_FITBVERT 8 |
-class CPDF_Dest |
-{ |
-public: |
- CPDF_Dest() : m_pObj(nullptr) { } |
- explicit CPDF_Dest(CPDF_Object* pObj) : m_pObj(pObj) { } |
- |
- operator bool () const { return m_pObj != NULL; } |
- CPDF_Object* GetObject() const { return m_pObj; } |
- |
- CFX_ByteString GetRemoteName(); |
- int GetPageIndex(CPDF_Document* pDoc); |
- FX_DWORD GetPageObjNum(); |
- int GetZoomMode(); |
- FX_FLOAT GetParam(int index); |
- |
-protected: |
- CPDF_Object* m_pObj; |
+#define PDFZOOM_XYZ 1 |
+#define PDFZOOM_FITPAGE 2 |
+#define PDFZOOM_FITHORZ 3 |
+#define PDFZOOM_FITVERT 4 |
+#define PDFZOOM_FITRECT 5 |
+#define PDFZOOM_FITBBOX 6 |
+#define PDFZOOM_FITBHORZ 7 |
+#define PDFZOOM_FITBVERT 8 |
+class CPDF_Dest { |
+ public: |
+ CPDF_Dest() : m_pObj(nullptr) {} |
+ explicit CPDF_Dest(CPDF_Object* pObj) : m_pObj(pObj) {} |
+ |
+ operator bool() const { return m_pObj != NULL; } |
+ CPDF_Object* GetObject() const { return m_pObj; } |
+ |
+ CFX_ByteString GetRemoteName(); |
+ int GetPageIndex(CPDF_Document* pDoc); |
+ FX_DWORD GetPageObjNum(); |
+ int GetZoomMode(); |
+ FX_FLOAT GetParam(int index); |
+ |
+ protected: |
+ CPDF_Object* m_pObj; |
}; |
-class CPDF_OCContext : public IPDF_OCContext |
-{ |
-public: |
+class CPDF_OCContext : public IPDF_OCContext { |
+ public: |
+ enum UsageType { View = 0, Design, Print, Export }; |
- enum UsageType { |
- View = 0, |
- Design, |
- Print, |
- Export |
- }; |
+ CPDF_OCContext(CPDF_Document* pDoc, UsageType eUsageType = View); |
- CPDF_OCContext(CPDF_Document *pDoc, UsageType eUsageType = View); |
+ virtual ~CPDF_OCContext(); |
- virtual ~CPDF_OCContext(); |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
- CPDF_Document* GetDocument() const |
- { |
- return m_pDocument; |
- } |
+ UsageType GetUsageType() const { return m_eUsageType; } |
- UsageType GetUsageType() const |
- { |
- return m_eUsageType; |
- } |
+ FX_BOOL CheckOCGVisible(const CPDF_Dictionary* pOCGDict); |
- FX_BOOL CheckOCGVisible(const CPDF_Dictionary *pOCGDict); |
+ void ResetOCContext(); |
- void ResetOCContext(); |
-protected: |
+ protected: |
+ FX_BOOL LoadOCGStateFromConfig(const CFX_ByteStringC& csConfig, |
+ const CPDF_Dictionary* pOCGDict, |
+ FX_BOOL& bValidConfig) const; |
- FX_BOOL LoadOCGStateFromConfig(const CFX_ByteStringC& csConfig, const CPDF_Dictionary *pOCGDict, FX_BOOL &bValidConfig) const; |
+ FX_BOOL LoadOCGState(const CPDF_Dictionary* pOCGDict) const; |
- FX_BOOL LoadOCGState(const CPDF_Dictionary *pOCGDict) const; |
+ FX_BOOL GetOCGVisible(const CPDF_Dictionary* pOCGDict); |
- FX_BOOL GetOCGVisible(const CPDF_Dictionary *pOCGDict); |
+ FX_BOOL GetOCGVE(CPDF_Array* pExpression, |
+ FX_BOOL bFromConfig, |
+ int nLevel = 0); |
- FX_BOOL GetOCGVE(CPDF_Array *pExpression, FX_BOOL bFromConfig, int nLevel = 0); |
+ FX_BOOL LoadOCMDState(const CPDF_Dictionary* pOCMDDict, FX_BOOL bFromConfig); |
- FX_BOOL LoadOCMDState(const CPDF_Dictionary *pOCMDDict, FX_BOOL bFromConfig); |
+ CPDF_Document* m_pDocument; |
- CPDF_Document *m_pDocument; |
+ UsageType m_eUsageType; |
- UsageType m_eUsageType; |
- |
- std::map<const CPDF_Dictionary*, FX_BOOL> m_OCGStates; |
+ std::map<const CPDF_Dictionary*, FX_BOOL> m_OCGStates; |
}; |
-class CPDF_LWinParam |
-{ |
-public: |
- |
- CPDF_LWinParam(CPDF_Dictionary* pDict) |
- { |
- m_pDict = pDict; |
- } |
- |
- operator CPDF_Dictionary* () const |
- { |
- return m_pDict; |
- } |
- |
- inline CFX_ByteString GetFileName() |
- { |
- return m_pDict->GetString("F"); |
- } |
+class CPDF_LWinParam { |
+ public: |
+ CPDF_LWinParam(CPDF_Dictionary* pDict) { m_pDict = pDict; } |
+ operator CPDF_Dictionary*() const { return m_pDict; } |
- inline CFX_ByteString GetDefaultDirectory() |
- { |
- return m_pDict->GetString("D"); |
- } |
+ inline CFX_ByteString GetFileName() { return m_pDict->GetString("F"); } |
+ inline CFX_ByteString GetDefaultDirectory() { |
+ return m_pDict->GetString("D"); |
+ } |
- inline CFX_ByteString GetOperation() |
- { |
- return m_pDict->GetString("O"); |
- } |
+ inline CFX_ByteString GetOperation() { return m_pDict->GetString("O"); } |
+ inline CFX_ByteString GetParameter() { return m_pDict->GetString("P"); } |
- inline CFX_ByteString GetParameter() |
- { |
- return m_pDict->GetString("P"); |
- } |
- |
- CPDF_Dictionary* m_pDict; |
+ CPDF_Dictionary* m_pDict; |
}; |
-class CPDF_ActionFields |
-{ |
-public: |
- |
- CPDF_ActionFields(const CPDF_Action* pAction) |
- { |
- m_pAction = (CPDF_Action*)pAction; |
- } |
+class CPDF_ActionFields { |
+ public: |
+ CPDF_ActionFields(const CPDF_Action* pAction) { |
+ m_pAction = (CPDF_Action*)pAction; |
+ } |
- operator CPDF_Action*() const |
- { |
- return m_pAction; |
- } |
+ operator CPDF_Action*() const { return m_pAction; } |
- FX_DWORD GetFieldsCount() const; |
+ FX_DWORD GetFieldsCount() const; |
- void GetAllFields(CFX_PtrArray& fieldObjects) const; |
+ void GetAllFields(CFX_PtrArray& fieldObjects) const; |
- CPDF_Object* GetField(FX_DWORD iIndex) const; |
+ CPDF_Object* GetField(FX_DWORD iIndex) const; |
- CPDF_Action* m_pAction; |
+ CPDF_Action* m_pAction; |
}; |
-#define PDFNAMED_NEXTPAGE 1 |
-#define PDFNAMED_PREVPAGE 2 |
-#define PDFNAMED_FIRSTPAGE 3 |
-#define PDFNAMED_LASTPAGE 4 |
-#define PDFJS_MAXLENGTH 64 |
-class CPDF_Action |
-{ |
-public: |
- enum ActionType { |
- Unknown = 0, |
- GoTo, |
- GoToR, |
- GoToE, |
- Launch, |
- Thread, |
- URI, |
- Sound, |
- Movie, |
- Hide, |
- Named, |
- SubmitForm, |
- ResetForm, |
- ImportData, |
- JavaScript, |
- SetOCGState, |
- Rendition, |
- Trans, |
- GoTo3DView |
- }; |
- |
- CPDF_Action() : m_pDict(nullptr) { } |
- explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) { } |
- |
- operator bool () const { return m_pDict != NULL; } |
- |
- CPDF_Dictionary* GetDict() const { return m_pDict; } |
- |
- CFX_ByteString GetTypeName() const |
- { |
- return m_pDict->GetString("S"); |
- } |
- |
- ActionType GetType() const; |
- |
- CPDF_Dest GetDest(CPDF_Document* pDoc) const; |
- |
- CFX_WideString GetFilePath() const; |
- |
- FX_BOOL GetNewWindow() const |
- { |
- return m_pDict->GetBoolean("NewWindow"); |
- } |
- |
- CPDF_LWinParam GetWinParam() const; |
- |
- CFX_ByteString GetURI(CPDF_Document* pDoc) const; |
- |
- FX_BOOL GetMouseMap() const |
- { |
- return m_pDict->GetBoolean("IsMap"); |
- } |
- |
- CPDF_ActionFields GetWidgets() const |
- { |
- return this; |
- } |
- |
- FX_BOOL GetHideStatus() const |
- { |
- return m_pDict->GetBoolean("H", TRUE); |
- } |
- |
- CFX_ByteString GetNamedAction() const |
- { |
- return m_pDict->GetString("N"); |
- } |
- |
- FX_DWORD GetFlags() const |
- { |
- return m_pDict->GetInteger("Flags"); |
- } |
- |
- CFX_WideString GetJavaScript() const; |
- |
- CPDF_Dictionary* GetAnnot() const; |
- |
- int32_t GetOperationType() const; |
- |
- CPDF_Stream* GetSoundStream() const |
- { |
- return m_pDict->GetStream("Sound"); |
- } |
- |
- FX_FLOAT GetVolume() const |
- { |
- return m_pDict->GetNumber("Volume"); |
- } |
- |
- FX_BOOL IsSynchronous() const |
- { |
- return m_pDict->GetBoolean("Synchronous"); |
- } |
- |
- FX_BOOL IsRepeat() const |
- { |
- return m_pDict->GetBoolean("Repeat"); |
- } |
- |
- FX_BOOL IsMixPlay() const |
- { |
- return m_pDict->GetBoolean("Mix"); |
- } |
- |
- FX_DWORD GetSubActionsCount() const; |
- |
- CPDF_Action GetSubAction(FX_DWORD iIndex) const; |
+#define PDFNAMED_NEXTPAGE 1 |
+#define PDFNAMED_PREVPAGE 2 |
+#define PDFNAMED_FIRSTPAGE 3 |
+#define PDFNAMED_LASTPAGE 4 |
+#define PDFJS_MAXLENGTH 64 |
+class CPDF_Action { |
+ public: |
+ enum ActionType { |
+ Unknown = 0, |
+ GoTo, |
+ GoToR, |
+ GoToE, |
+ Launch, |
+ Thread, |
+ URI, |
+ Sound, |
+ Movie, |
+ Hide, |
+ Named, |
+ SubmitForm, |
+ ResetForm, |
+ ImportData, |
+ JavaScript, |
+ SetOCGState, |
+ Rendition, |
+ Trans, |
+ GoTo3DView |
+ }; |
-protected: |
- CPDF_Dictionary* m_pDict; |
-}; |
-class CPDF_AAction |
-{ |
-public: |
- |
- CPDF_AAction(CPDF_Dictionary* pDict = NULL) |
- { |
- m_pDict = pDict; |
- } |
- |
- operator CPDF_Dictionary*() const |
- { |
- return m_pDict; |
- } |
- |
- enum AActionType { |
- CursorEnter = 0, |
- CursorExit, |
- ButtonDown, |
- ButtonUp, |
- GetFocus, |
- LoseFocus, |
- PageOpen, |
- PageClose, |
- PageVisible, |
- PageInvisible, |
- OpenPage, |
- ClosePage, |
- KeyStroke, |
- Format, |
- Validate, |
- Calculate, |
- CloseDocument, |
- SaveDocument, |
- DocumentSaved, |
- PrintDocument, |
- DocumentPrinted |
- }; |
- |
- FX_BOOL ActionExist(AActionType eType) const; |
- |
- CPDF_Action GetAction(AActionType eType) const; |
- |
- FX_POSITION GetStartPos() const; |
- |
- CPDF_Action GetNextAction(FX_POSITION& pos, AActionType& eType) const; |
- |
- CPDF_Dictionary* m_pDict; |
-}; |
-class CPDF_DocJSActions |
-{ |
-public: |
- CPDF_DocJSActions(CPDF_Document* pDoc); |
+ CPDF_Action() : m_pDict(nullptr) {} |
+ explicit CPDF_Action(CPDF_Dictionary* pDict) : m_pDict(pDict) {} |
+ operator bool() const { return m_pDict != NULL; } |
- int CountJSActions() const; |
+ CPDF_Dictionary* GetDict() const { return m_pDict; } |
- CPDF_Action GetJSAction(int index, CFX_ByteString& csName) const; |
+ CFX_ByteString GetTypeName() const { return m_pDict->GetString("S"); } |
- CPDF_Action GetJSAction(const CFX_ByteString& csName) const; |
+ ActionType GetType() const; |
- int FindJSAction(const CFX_ByteString& csName) const; |
+ CPDF_Dest GetDest(CPDF_Document* pDoc) const; |
+ CFX_WideString GetFilePath() const; |
- CPDF_Document* GetDocument() const |
- { |
- return m_pDocument; |
- } |
+ FX_BOOL GetNewWindow() const { return m_pDict->GetBoolean("NewWindow"); } |
-protected: |
+ CPDF_LWinParam GetWinParam() const; |
- CPDF_Document* m_pDocument; |
-}; |
-class CPDF_FileSpec |
-{ |
-public: |
+ CFX_ByteString GetURI(CPDF_Document* pDoc) const; |
- CPDF_FileSpec(); |
+ FX_BOOL GetMouseMap() const { return m_pDict->GetBoolean("IsMap"); } |
- CPDF_FileSpec(CPDF_Object *pObj) |
- { |
- m_pObj = pObj; |
- } |
+ CPDF_ActionFields GetWidgets() const { return this; } |
- operator CPDF_Object*() const |
- { |
- return m_pObj; |
- } |
+ FX_BOOL GetHideStatus() const { return m_pDict->GetBoolean("H", TRUE); } |
- FX_BOOL IsURL() const; |
+ CFX_ByteString GetNamedAction() const { return m_pDict->GetString("N"); } |
- FX_BOOL GetFileName(CFX_WideString &wsFileName) const; |
+ FX_DWORD GetFlags() const { return m_pDict->GetInteger("Flags"); } |
- CPDF_Stream* GetFileStream() const; |
+ CFX_WideString GetJavaScript() const; |
- void SetFileName(const CFX_WideStringC& wsFileName, FX_BOOL bURL = FALSE); |
-protected: |
+ CPDF_Dictionary* GetAnnot() const; |
- CPDF_Object *m_pObj; |
-}; |
-class CPDF_LinkList |
-{ |
-public: |
+ int32_t GetOperationType() const; |
- CPDF_LinkList(CPDF_Document* pDoc) |
- { |
- m_pDocument = pDoc; |
- } |
+ CPDF_Stream* GetSoundStream() const { return m_pDict->GetStream("Sound"); } |
- ~CPDF_LinkList(); |
+ FX_FLOAT GetVolume() const { return m_pDict->GetNumber("Volume"); } |
- CPDF_Link GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y); |
+ FX_BOOL IsSynchronous() const { return m_pDict->GetBoolean("Synchronous"); } |
- int CountLinks(CPDF_Page* pPage); |
+ FX_BOOL IsRepeat() const { return m_pDict->GetBoolean("Repeat"); } |
- CPDF_Link GetLink(CPDF_Page* pPage, int index); |
+ FX_BOOL IsMixPlay() const { return m_pDict->GetBoolean("Mix"); } |
- CPDF_Document* GetDocument() const |
- { |
- return m_pDocument; |
- } |
-protected: |
+ FX_DWORD GetSubActionsCount() const; |
- CPDF_Document* m_pDocument; |
+ CPDF_Action GetSubAction(FX_DWORD iIndex) const; |
- CFX_MapPtrToPtr m_PageMap; |
- |
- CFX_PtrArray* GetPageLinks(CPDF_Page* pPage); |
- |
- void LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList); |
+ protected: |
+ CPDF_Dictionary* m_pDict; |
}; |
-class CPDF_Link |
-{ |
-public: |
- CPDF_Link() : m_pDict(nullptr) { } |
- explicit CPDF_Link(CPDF_Dictionary* pDict) : m_pDict(pDict) { } |
- |
- CPDF_Dictionary* GetDict() const { return m_pDict; } |
- |
- CFX_FloatRect GetRect(); |
- CPDF_Dest GetDest(CPDF_Document* pDoc); |
- CPDF_Action GetAction(); |
- |
-protected: |
- CPDF_Dictionary* m_pDict; |
+class CPDF_AAction { |
+ public: |
+ CPDF_AAction(CPDF_Dictionary* pDict = NULL) { m_pDict = pDict; } |
+ |
+ operator CPDF_Dictionary*() const { return m_pDict; } |
+ |
+ enum AActionType { |
+ CursorEnter = 0, |
+ CursorExit, |
+ ButtonDown, |
+ ButtonUp, |
+ GetFocus, |
+ LoseFocus, |
+ PageOpen, |
+ PageClose, |
+ PageVisible, |
+ PageInvisible, |
+ OpenPage, |
+ ClosePage, |
+ KeyStroke, |
+ Format, |
+ Validate, |
+ Calculate, |
+ CloseDocument, |
+ SaveDocument, |
+ DocumentSaved, |
+ PrintDocument, |
+ DocumentPrinted |
+ }; |
+ |
+ FX_BOOL ActionExist(AActionType eType) const; |
+ |
+ CPDF_Action GetAction(AActionType eType) const; |
+ |
+ FX_POSITION GetStartPos() const; |
+ |
+ CPDF_Action GetNextAction(FX_POSITION& pos, AActionType& eType) const; |
+ |
+ CPDF_Dictionary* m_pDict; |
}; |
+class CPDF_DocJSActions { |
+ public: |
+ CPDF_DocJSActions(CPDF_Document* pDoc); |
-#define ANNOTFLAG_INVISIBLE 0x0001 |
-#define ANNOTFLAG_HIDDEN 0x0002 |
-#define ANNOTFLAG_PRINT 0x0004 |
-#define ANNOTFLAG_NOZOOM 0x0008 |
-#define ANNOTFLAG_NOROTATE 0x0010 |
-#define ANNOTFLAG_NOVIEW 0x0020 |
-#define ANNOTFLAG_READONLY 0x0040 |
-#define ANNOTFLAG_LOCKED 0x0080 |
-#define ANNOTFLAG_TOGGLENOVIEW 0x0100 |
- |
-class CPDF_Annot : public CFX_PrivateData |
-{ |
- public: |
- enum AppearanceMode { |
- Normal, |
- Rollover, |
- Down |
- }; |
- |
- CPDF_Annot(CPDF_Dictionary* pDict, CPDF_AnnotList* pList); |
- ~CPDF_Annot(); |
- |
- CFX_ByteString GetSubType() const; |
- |
- FX_DWORD GetFlags() const; |
- |
- void GetRect(CFX_FloatRect& rect) const; |
- |
- CPDF_Dictionary* GetAnnotDict(); |
- |
- FX_BOOL DrawAppearance(const CPDF_Page* pPage, |
- CFX_RenderDevice* pDevice, |
- const CFX_AffineMatrix* pUser2Device, |
- AppearanceMode mode, |
- const CPDF_RenderOptions* pOptions); |
- |
- FX_BOOL DrawInContext(const CPDF_Page* pPage, |
- const CPDF_RenderContext* pContext, |
- const CFX_AffineMatrix* pUser2Device, |
- AppearanceMode mode); |
- |
- void ClearCachedAP(); |
- |
- void DrawBorder(CFX_RenderDevice* pDevice, |
- const CFX_AffineMatrix* pUser2Device, |
- const CPDF_RenderOptions* pOptions); |
+ int CountJSActions() const; |
- CPDF_Form* GetAPForm(const CPDF_Page* pPage, AppearanceMode mode); |
+ CPDF_Action GetJSAction(int index, CFX_ByteString& csName) const; |
- private: |
- CPDF_Dictionary* const m_pAnnotDict; |
+ CPDF_Action GetJSAction(const CFX_ByteString& csName) const; |
- CPDF_AnnotList* const m_pList; |
+ int FindJSAction(const CFX_ByteString& csName) const; |
- const CFX_ByteString m_sSubtype; |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
- CFX_MapPtrToPtr m_APMap; |
+ protected: |
+ CPDF_Document* m_pDocument; |
}; |
+class CPDF_FileSpec { |
+ public: |
+ CPDF_FileSpec(); |
-class CPDF_AnnotList |
-{ |
-public: |
+ CPDF_FileSpec(CPDF_Object* pObj) { m_pObj = pObj; } |
- CPDF_AnnotList(CPDF_Page* pPage); |
+ operator CPDF_Object*() const { return m_pObj; } |
- ~CPDF_AnnotList(); |
+ FX_BOOL IsURL() const; |
- void GetAnnotMatrix(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CFX_Matrix &matrix) const; |
+ FX_BOOL GetFileName(CFX_WideString& wsFileName) const; |
- void GetAnnotRect(const CPDF_Dictionary* pAnnotDict, const CFX_Matrix* pUser2Device, CPDF_Rect &rtAnnot) const; |
+ CPDF_Stream* GetFileStream() const; |
- void DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, |
- CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, |
- CPDF_RenderOptions* pOptions); |
+ void SetFileName(const CFX_WideStringC& wsFileName, FX_BOOL bURL = FALSE); |
- void DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, |
- CPDF_RenderOptions* pOptions) |
- { |
- DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, NULL); |
- } |
- |
- void DisplayAnnots(const CPDF_Page* pPage, CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_BOOL bShowWidget, |
- CPDF_RenderOptions* pOptions, FX_RECT *pClipRect) |
- { |
- DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, bShowWidget ? 3 : 1, pOptions, pClipRect); |
- } |
- |
- void DisplayAnnots(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, CPDF_RenderContext* pContext, |
- FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, FX_DWORD dwAnnotFlags, |
- CPDF_RenderOptions* pOptions, FX_RECT* pClipRect); |
- |
- |
- |
- CPDF_Annot* GetAt(int index) |
- { |
- return (CPDF_Annot*)m_AnnotList.GetAt(index); |
- } |
- |
- int Count() |
- { |
- return m_AnnotList.GetSize(); |
- } |
- |
- int GetIndex(CPDF_Annot* pAnnot); |
- |
- |
- CPDF_Document* GetDocument() const |
- { |
- return m_pDocument; |
- } |
-protected: |
- |
- CFX_PtrArray m_AnnotList; |
- |
- CPDF_Dictionary* m_pPageDict; |
- |
- CPDF_Document* m_pDocument; |
- |
- CFX_PtrArray m_Borders; |
- |
- void DisplayPass(const CPDF_Page* pPage, CFX_RenderDevice* pDevice, |
- CPDF_RenderContext* pContext, FX_BOOL bPrinting, CFX_AffineMatrix* pMatrix, |
- FX_BOOL bWidget, CPDF_RenderOptions* pOptions, FX_RECT* clip_rect); |
- friend class CPDF_Annot; |
+ protected: |
+ CPDF_Object* m_pObj; |
}; |
-#define COLORTYPE_TRANSPARENT 0 |
-#define COLORTYPE_GRAY 1 |
-#define COLORTYPE_RGB 2 |
-#define COLORTYPE_CMYK 3 |
-class CPDF_DefaultAppearance |
-{ |
-public: |
- |
- CPDF_DefaultAppearance(const CFX_ByteString& csDA = "") |
- { |
- m_csDA = csDA; |
- } |
- |
- CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) |
- { |
- m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; |
- } |
- |
- |
- operator CFX_ByteString() const |
- { |
- return m_csDA; |
- } |
- |
- const CPDF_DefaultAppearance& operator =(const CFX_ByteString& csDA) |
- { |
- m_csDA = csDA; |
- return *this; |
- } |
- |
- const CPDF_DefaultAppearance& operator =(const CPDF_DefaultAppearance& cDA) |
- { |
- m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; |
- return *this; |
- } |
- |
- |
- |
- FX_BOOL HasFont(); |
- |
- CFX_ByteString GetFontString(); |
- |
- void GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize); |
- |
- |
- |
- |
- FX_BOOL HasColor(FX_BOOL bStrokingOperation = FALSE); |
- |
- CFX_ByteString GetColorString(FX_BOOL bStrokingOperation = FALSE); |
+class CPDF_LinkList { |
+ public: |
+ CPDF_LinkList(CPDF_Document* pDoc) { m_pDocument = pDoc; } |
- void GetColor(int& iColorType, FX_FLOAT fc[4], FX_BOOL bStrokingOperation = FALSE); |
+ ~CPDF_LinkList(); |
- void GetColor(FX_ARGB& color, int& iColorType, FX_BOOL bStrokingOperation = FALSE); |
+ CPDF_Link GetLinkAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y); |
+ int CountLinks(CPDF_Page* pPage); |
+ CPDF_Link GetLink(CPDF_Page* pPage, int index); |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
- FX_BOOL HasTextMatrix(); |
+ protected: |
+ CPDF_Document* m_pDocument; |
- CFX_ByteString GetTextMatrixString(); |
+ CFX_MapPtrToPtr m_PageMap; |
- CFX_AffineMatrix GetTextMatrix(); |
+ CFX_PtrArray* GetPageLinks(CPDF_Page* pPage); |
-protected: |
- |
- CFX_ByteString m_csDA; |
+ void LoadPageLinks(CPDF_Page* pPage, CFX_PtrArray* pList); |
}; |
-#define FIELDTYPE_UNKNOWN 0 |
-#define FIELDTYPE_PUSHBUTTON 1 |
-#define FIELDTYPE_CHECKBOX 2 |
-#define FIELDTYPE_RADIOBUTTON 3 |
-#define FIELDTYPE_COMBOBOX 4 |
-#define FIELDTYPE_LISTBOX 5 |
-#define FIELDTYPE_TEXTFIELD 6 |
-#define FIELDTYPE_SIGNATURE 7 |
-class CPDF_InterForm : public CFX_PrivateData |
-{ |
-public: |
- |
- CPDF_InterForm(CPDF_Document* pDocument, FX_BOOL bUpdateAP); |
- |
- ~CPDF_InterForm(); |
- |
- |
- |
- static void EnableUpdateAP(FX_BOOL bUpdateAP); |
- |
- static FX_BOOL UpdatingAPEnabled(); |
- |
- |
- static CFX_ByteString GenerateNewResourceName(const CPDF_Dictionary* pResDict, const FX_CHAR* csType, int iMinLen = 2, const FX_CHAR* csPrefix = ""); |
- |
- |
- |
- static CPDF_Font* AddSystemDefaultFont(const CPDF_Document* pDocument); |
- |
- static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, CFX_ByteString csFontName, uint8_t iCharSet = 1); |
- |
- static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, CFX_WideString csFontName, uint8_t iCharSet = 1); |
- |
- static CPDF_Font* AddStandardFont(const CPDF_Document* pDocument, CFX_ByteString csFontName); |
+class CPDF_Link { |
+ public: |
+ CPDF_Link() : m_pDict(nullptr) {} |
+ explicit CPDF_Link(CPDF_Dictionary* pDict) : m_pDict(pDict) {} |
- static CFX_ByteString GetNativeFont(uint8_t iCharSet, void* pLogFont = NULL); |
+ CPDF_Dictionary* GetDict() const { return m_pDict; } |
- static CFX_ByteString GetNativeFont(void* pLogFont = NULL); |
+ CFX_FloatRect GetRect(); |
+ CPDF_Dest GetDest(CPDF_Document* pDoc); |
+ CPDF_Action GetAction(); |
- static uint8_t GetNativeCharSet(); |
- |
- static CPDF_Font* AddNativeFont(uint8_t iCharSet, const CPDF_Document* pDocument); |
- |
- static CPDF_Font* AddNativeFont(const CPDF_Document* pDocument); |
+ protected: |
+ CPDF_Dictionary* m_pDict; |
+}; |
+#define ANNOTFLAG_INVISIBLE 0x0001 |
+#define ANNOTFLAG_HIDDEN 0x0002 |
+#define ANNOTFLAG_PRINT 0x0004 |
+#define ANNOTFLAG_NOZOOM 0x0008 |
+#define ANNOTFLAG_NOROTATE 0x0010 |
+#define ANNOTFLAG_NOVIEW 0x0020 |
+#define ANNOTFLAG_READONLY 0x0040 |
+#define ANNOTFLAG_LOCKED 0x0080 |
+#define ANNOTFLAG_TOGGLENOVIEW 0x0100 |
+class CPDF_Annot : public CFX_PrivateData { |
+ public: |
+ enum AppearanceMode { Normal, Rollover, Down }; |
+ CPDF_Annot(CPDF_Dictionary* pDict, CPDF_AnnotList* pList); |
+ ~CPDF_Annot(); |
- FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType); |
+ CFX_ByteString GetSubType() const; |
- FX_BOOL ValidateFieldName(const CPDF_FormField* pField, CFX_WideString& csNewFieldName); |
+ FX_DWORD GetFlags() const; |
- FX_BOOL ValidateFieldName(const CPDF_FormControl* pControl, CFX_WideString& csNewFieldName); |
+ void GetRect(CFX_FloatRect& rect) const; |
+ CPDF_Dictionary* GetAnnotDict(); |
+ FX_BOOL DrawAppearance(const CPDF_Page* pPage, |
+ CFX_RenderDevice* pDevice, |
+ const CFX_AffineMatrix* pUser2Device, |
+ AppearanceMode mode, |
+ const CPDF_RenderOptions* pOptions); |
+ FX_BOOL DrawInContext(const CPDF_Page* pPage, |
+ const CPDF_RenderContext* pContext, |
+ const CFX_AffineMatrix* pUser2Device, |
+ AppearanceMode mode); |
- FX_DWORD CountFields(const CFX_WideString &csFieldName = L""); |
+ void ClearCachedAP(); |
- CPDF_FormField* GetField(FX_DWORD index, const CFX_WideString &csFieldName = L""); |
+ void DrawBorder(CFX_RenderDevice* pDevice, |
+ const CFX_AffineMatrix* pUser2Device, |
+ const CPDF_RenderOptions* pOptions); |
- void GetAllFieldNames(CFX_WideStringArray& allFieldNames); |
+ CPDF_Form* GetAPForm(const CPDF_Page* pPage, AppearanceMode mode); |
- FX_BOOL IsValidFormField(const void* pField); |
+ private: |
+ CPDF_Dictionary* const m_pAnnotDict; |
- CPDF_FormField* GetFieldByDict(CPDF_Dictionary* pFieldDict) const; |
+ CPDF_AnnotList* const m_pList; |
+ const CFX_ByteString m_sSubtype; |
+ CFX_MapPtrToPtr m_APMap; |
+}; |
+class CPDF_AnnotList { |
+ public: |
+ CPDF_AnnotList(CPDF_Page* pPage); |
+ |
+ ~CPDF_AnnotList(); |
+ |
+ void GetAnnotMatrix(const CPDF_Dictionary* pAnnotDict, |
+ const CFX_Matrix* pUser2Device, |
+ CFX_Matrix& matrix) const; |
+ |
+ void GetAnnotRect(const CPDF_Dictionary* pAnnotDict, |
+ const CFX_Matrix* pUser2Device, |
+ CPDF_Rect& rtAnnot) const; |
+ |
+ void DisplayAnnots(const CPDF_Page* pPage, |
+ CFX_RenderDevice* pDevice, |
+ CFX_AffineMatrix* pMatrix, |
+ FX_BOOL bShowWidget, |
+ CPDF_RenderOptions* pOptions); |
+ |
+ void DisplayAnnots(const CPDF_Page* pPage, |
+ CPDF_RenderContext* pContext, |
+ FX_BOOL bPrinting, |
+ CFX_AffineMatrix* pMatrix, |
+ FX_BOOL bShowWidget, |
+ CPDF_RenderOptions* pOptions) { |
+ DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, |
+ bShowWidget ? 3 : 1, pOptions, NULL); |
+ } |
+ |
+ void DisplayAnnots(const CPDF_Page* pPage, |
+ CPDF_RenderContext* pContext, |
+ FX_BOOL bPrinting, |
+ CFX_AffineMatrix* pMatrix, |
+ FX_BOOL bShowWidget, |
+ CPDF_RenderOptions* pOptions, |
+ FX_RECT* pClipRect) { |
+ DisplayAnnots(pPage, NULL, pContext, bPrinting, pMatrix, |
+ bShowWidget ? 3 : 1, pOptions, pClipRect); |
+ } |
+ |
+ void DisplayAnnots(const CPDF_Page* pPage, |
+ CFX_RenderDevice* pDevice, |
+ CPDF_RenderContext* pContext, |
+ FX_BOOL bPrinting, |
+ CFX_AffineMatrix* pMatrix, |
+ FX_DWORD dwAnnotFlags, |
+ CPDF_RenderOptions* pOptions, |
+ FX_RECT* pClipRect); |
+ |
+ CPDF_Annot* GetAt(int index) { return (CPDF_Annot*)m_AnnotList.GetAt(index); } |
+ |
+ int Count() { return m_AnnotList.GetSize(); } |
+ |
+ int GetIndex(CPDF_Annot* pAnnot); |
+ |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
+ |
+ protected: |
+ CFX_PtrArray m_AnnotList; |
+ |
+ CPDF_Dictionary* m_pPageDict; |
+ |
+ CPDF_Document* m_pDocument; |
+ |
+ CFX_PtrArray m_Borders; |
+ |
+ void DisplayPass(const CPDF_Page* pPage, |
+ CFX_RenderDevice* pDevice, |
+ CPDF_RenderContext* pContext, |
+ FX_BOOL bPrinting, |
+ CFX_AffineMatrix* pMatrix, |
+ FX_BOOL bWidget, |
+ CPDF_RenderOptions* pOptions, |
+ FX_RECT* clip_rect); |
+ friend class CPDF_Annot; |
+}; |
+#define COLORTYPE_TRANSPARENT 0 |
+#define COLORTYPE_GRAY 1 |
+#define COLORTYPE_RGB 2 |
+#define COLORTYPE_CMYK 3 |
+class CPDF_DefaultAppearance { |
+ public: |
+ CPDF_DefaultAppearance(const CFX_ByteString& csDA = "") { m_csDA = csDA; } |
- FX_DWORD CountControls(CFX_WideString csFieldName = L""); |
+ CPDF_DefaultAppearance(const CPDF_DefaultAppearance& cDA) { |
+ m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; |
+ } |
- CPDF_FormControl* GetControl(FX_DWORD index, CFX_WideString csFieldName = L""); |
+ operator CFX_ByteString() const { return m_csDA; } |
- FX_BOOL IsValidFormControl(const void* pControl); |
+ const CPDF_DefaultAppearance& operator=(const CFX_ByteString& csDA) { |
+ m_csDA = csDA; |
+ return *this; |
+ } |
- int CountPageControls(CPDF_Page* pPage) const; |
+ const CPDF_DefaultAppearance& operator=(const CPDF_DefaultAppearance& cDA) { |
+ m_csDA = (CFX_ByteString)(CPDF_DefaultAppearance&)cDA; |
+ return *this; |
+ } |
- CPDF_FormControl* GetPageControl(CPDF_Page* pPage, int index) const; |
+ FX_BOOL HasFont(); |
+ CFX_ByteString GetFontString(); |
- CPDF_FormControl* GetControlAtPoint(CPDF_Page* pPage, FX_FLOAT pdf_x, FX_FLOAT pdf_y) const; |
+ void GetFont(CFX_ByteString& csFontNameTag, FX_FLOAT& fFontSize); |
- CPDF_FormControl* GetControlByDict(CPDF_Dictionary* pWidgetDict) const; |
+ FX_BOOL HasColor(FX_BOOL bStrokingOperation = FALSE); |
+ CFX_ByteString GetColorString(FX_BOOL bStrokingOperation = FALSE); |
+ void GetColor(int& iColorType, |
+ FX_FLOAT fc[4], |
+ FX_BOOL bStrokingOperation = FALSE); |
+ void GetColor(FX_ARGB& color, |
+ int& iColorType, |
+ FX_BOOL bStrokingOperation = FALSE); |
- FX_DWORD CountInternalFields(const CFX_WideString& csFieldName = L"") const; |
+ FX_BOOL HasTextMatrix(); |
- CPDF_Dictionary* GetInternalField(FX_DWORD index, const CFX_WideString& csFieldName = L"") const; |
+ CFX_ByteString GetTextMatrixString(); |
+ CFX_AffineMatrix GetTextMatrix(); |
+ protected: |
+ CFX_ByteString m_csDA; |
+}; |
+#define FIELDTYPE_UNKNOWN 0 |
+#define FIELDTYPE_PUSHBUTTON 1 |
+#define FIELDTYPE_CHECKBOX 2 |
+#define FIELDTYPE_RADIOBUTTON 3 |
+#define FIELDTYPE_COMBOBOX 4 |
+#define FIELDTYPE_LISTBOX 5 |
+#define FIELDTYPE_TEXTFIELD 6 |
+#define FIELDTYPE_SIGNATURE 7 |
+class CPDF_InterForm : public CFX_PrivateData { |
+ public: |
+ CPDF_InterForm(CPDF_Document* pDocument, FX_BOOL bUpdateAP); |
+ ~CPDF_InterForm(); |
+ static void EnableUpdateAP(FX_BOOL bUpdateAP); |
- CPDF_Document* GetDocument() const |
- { |
- return m_pDocument; |
- } |
+ static FX_BOOL UpdatingAPEnabled(); |
- CPDF_Dictionary* GetFormDict() const |
- { |
- return m_pFormDict; |
- } |
+ static CFX_ByteString GenerateNewResourceName(const CPDF_Dictionary* pResDict, |
+ const FX_CHAR* csType, |
+ int iMinLen = 2, |
+ const FX_CHAR* csPrefix = ""); |
+ static CPDF_Font* AddSystemDefaultFont(const CPDF_Document* pDocument); |
+ static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, |
+ CFX_ByteString csFontName, |
+ uint8_t iCharSet = 1); |
+ static CPDF_Font* AddSystemFont(const CPDF_Document* pDocument, |
+ CFX_WideString csFontName, |
+ uint8_t iCharSet = 1); |
- FX_BOOL NeedConstructAP(); |
+ static CPDF_Font* AddStandardFont(const CPDF_Document* pDocument, |
+ CFX_ByteString csFontName); |
- void NeedConstructAP(FX_BOOL bNeedAP); |
+ static CFX_ByteString GetNativeFont(uint8_t iCharSet, void* pLogFont = NULL); |
+ static CFX_ByteString GetNativeFont(void* pLogFont = NULL); |
+ static uint8_t GetNativeCharSet(); |
+ static CPDF_Font* AddNativeFont(uint8_t iCharSet, |
+ const CPDF_Document* pDocument); |
- int CountFieldsInCalculationOrder(); |
+ static CPDF_Font* AddNativeFont(const CPDF_Document* pDocument); |
- CPDF_FormField* GetFieldInCalculationOrder(int index); |
+ FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType); |
- int FindFieldInCalculationOrder(const CPDF_FormField* pField); |
+ FX_BOOL ValidateFieldName(const CPDF_FormField* pField, |
+ CFX_WideString& csNewFieldName); |
+ FX_BOOL ValidateFieldName(const CPDF_FormControl* pControl, |
+ CFX_WideString& csNewFieldName); |
+ FX_DWORD CountFields(const CFX_WideString& csFieldName = L""); |
+ CPDF_FormField* GetField(FX_DWORD index, |
+ const CFX_WideString& csFieldName = L""); |
- FX_DWORD CountFormFonts(); |
+ void GetAllFieldNames(CFX_WideStringArray& allFieldNames); |
- CPDF_Font* GetFormFont(FX_DWORD index, CFX_ByteString& csNameTag); |
+ FX_BOOL IsValidFormField(const void* pField); |
- CPDF_Font* GetFormFont(CFX_ByteString csNameTag); |
+ CPDF_FormField* GetFieldByDict(CPDF_Dictionary* pFieldDict) const; |
- CPDF_Font* GetFormFont(CFX_ByteString csFontName, CFX_ByteString& csNameTag); |
+ FX_DWORD CountControls(CFX_WideString csFieldName = L""); |
- CPDF_Font* GetNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag); |
+ CPDF_FormControl* GetControl(FX_DWORD index, |
+ CFX_WideString csFieldName = L""); |
- CPDF_Font* GetNativeFormFont(CFX_ByteString& csNameTag); |
+ FX_BOOL IsValidFormControl(const void* pControl); |
- FX_BOOL FindFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); |
+ int CountPageControls(CPDF_Page* pPage) const; |
- FX_BOOL FindFormFont(CFX_ByteString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag); |
+ CPDF_FormControl* GetPageControl(CPDF_Page* pPage, int index) const; |
- inline FX_BOOL FindFormFont(CFX_WideString csFontName, CPDF_Font*& pFont, CFX_ByteString& csNameTag) |
- { |
- return FindFormFont(PDF_EncodeText(csFontName), pFont, csNameTag); |
- } |
+ CPDF_FormControl* GetControlAtPoint(CPDF_Page* pPage, |
+ FX_FLOAT pdf_x, |
+ FX_FLOAT pdf_y) const; |
+ CPDF_FormControl* GetControlByDict(CPDF_Dictionary* pWidgetDict) const; |
+ FX_DWORD CountInternalFields(const CFX_WideString& csFieldName = L"") const; |
+ CPDF_Dictionary* GetInternalField( |
+ FX_DWORD index, |
+ const CFX_WideString& csFieldName = L"") const; |
+ CPDF_Document* GetDocument() const { return m_pDocument; } |
- void AddFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); |
+ CPDF_Dictionary* GetFormDict() const { return m_pFormDict; } |
- CPDF_Font* AddNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag); |
+ FX_BOOL NeedConstructAP(); |
- CPDF_Font* AddNativeFormFont(CFX_ByteString& csNameTag); |
+ void NeedConstructAP(FX_BOOL bNeedAP); |
- void RemoveFormFont(const CPDF_Font* pFont); |
+ int CountFieldsInCalculationOrder(); |
- void RemoveFormFont(CFX_ByteString csNameTag); |
+ CPDF_FormField* GetFieldInCalculationOrder(int index); |
+ int FindFieldInCalculationOrder(const CPDF_FormField* pField); |
+ FX_DWORD CountFormFonts(); |
+ CPDF_Font* GetFormFont(FX_DWORD index, CFX_ByteString& csNameTag); |
- CPDF_DefaultAppearance GetDefaultAppearance(); |
+ CPDF_Font* GetFormFont(CFX_ByteString csNameTag); |
- CPDF_Font* GetDefaultFormFont(); |
+ CPDF_Font* GetFormFont(CFX_ByteString csFontName, CFX_ByteString& csNameTag); |
+ CPDF_Font* GetNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag); |
+ CPDF_Font* GetNativeFormFont(CFX_ByteString& csNameTag); |
- int GetFormAlignment(); |
+ FX_BOOL FindFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); |
+ FX_BOOL FindFormFont(CFX_ByteString csFontName, |
+ CPDF_Font*& pFont, |
+ CFX_ByteString& csNameTag); |
+ inline FX_BOOL FindFormFont(CFX_WideString csFontName, |
+ CPDF_Font*& pFont, |
+ CFX_ByteString& csNameTag) { |
+ return FindFormFont(PDF_EncodeText(csFontName), pFont, csNameTag); |
+ } |
+ void AddFormFont(const CPDF_Font* pFont, CFX_ByteString& csNameTag); |
- CPDF_FormField* CheckRequiredFields(const CFX_PtrArray *fields = NULL, FX_BOOL bIncludeOrExclude = TRUE) const; |
+ CPDF_Font* AddNativeFormFont(uint8_t iCharSet, CFX_ByteString& csNameTag); |
- CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path, FX_BOOL bSimpleFileSpec = FALSE) const; |
+ CPDF_Font* AddNativeFormFont(CFX_ByteString& csNameTag); |
- CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path, CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bSimpleFileSpec = FALSE) const; |
+ void RemoveFormFont(const CPDF_Font* pFont); |
- FX_BOOL ImportFromFDF(const CFDF_Document* pFDFDoc, FX_BOOL bNotify = FALSE); |
+ void RemoveFormFont(CFX_ByteString csNameTag); |
+ CPDF_DefaultAppearance GetDefaultAppearance(); |
+ CPDF_Font* GetDefaultFormFont(); |
+ int GetFormAlignment(); |
- FX_BOOL ResetForm(const CFX_PtrArray& fields, FX_BOOL bIncludeOrExclude = TRUE, FX_BOOL bNotify = FALSE); |
+ CPDF_FormField* CheckRequiredFields(const CFX_PtrArray* fields = NULL, |
+ FX_BOOL bIncludeOrExclude = TRUE) const; |
- FX_BOOL ResetForm(FX_BOOL bNotify = FALSE); |
+ CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path, |
+ FX_BOOL bSimpleFileSpec = FALSE) const; |
- void ReloadForm(); |
+ CFDF_Document* ExportToFDF(const CFX_WideStringC& pdf_path, |
+ CFX_PtrArray& fields, |
+ FX_BOOL bIncludeOrExclude = TRUE, |
+ FX_BOOL bSimpleFileSpec = FALSE) const; |
- CPDF_FormNotify* GetFormNotify() const |
- { |
- return m_pFormNotify; |
- } |
+ FX_BOOL ImportFromFDF(const CFDF_Document* pFDFDoc, FX_BOOL bNotify = FALSE); |
- void SetFormNotify(const CPDF_FormNotify* pNotify); |
+ FX_BOOL ResetForm(const CFX_PtrArray& fields, |
+ FX_BOOL bIncludeOrExclude = TRUE, |
+ FX_BOOL bNotify = FALSE); |
+ FX_BOOL ResetForm(FX_BOOL bNotify = FALSE); |
- int GetPageWithWidget(int iCurPage, FX_BOOL bNext); |
+ void ReloadForm(); |
+ CPDF_FormNotify* GetFormNotify() const { return m_pFormNotify; } |
+ void SetFormNotify(const CPDF_FormNotify* pNotify); |
- FX_BOOL IsUpdated() |
- { |
- return m_bUpdated; |
- } |
+ int GetPageWithWidget(int iCurPage, FX_BOOL bNext); |
- void ClearUpdatedFlag() |
- { |
- m_bUpdated = FALSE; |
- } |
+ FX_BOOL IsUpdated() { return m_bUpdated; } |
+ void ClearUpdatedFlag() { m_bUpdated = FALSE; } |
- FX_BOOL HasXFAForm() const; |
+ FX_BOOL HasXFAForm() const; |
- void FixPageFields(const CPDF_Page* pPage); |
-protected: |
+ void FixPageFields(const CPDF_Page* pPage); |
- static FX_BOOL m_bUpdateAP; |
+ protected: |
+ static FX_BOOL m_bUpdateAP; |
- void LoadField(CPDF_Dictionary* pFieldDict, int nLevel = 0); |
+ void LoadField(CPDF_Dictionary* pFieldDict, int nLevel = 0); |
- CPDF_Object* GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name); |
+ CPDF_Object* GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name); |
- CPDF_FormField* AddTerminalField(const CPDF_Dictionary* pFieldDict); |
+ CPDF_FormField* AddTerminalField(const CPDF_Dictionary* pFieldDict); |
- CPDF_FormControl* AddControl(const CPDF_FormField* pField, const CPDF_Dictionary* pWidgetDict); |
+ CPDF_FormControl* AddControl(const CPDF_FormField* pField, |
+ const CPDF_Dictionary* pWidgetDict); |
- void FDF_ImportField(CPDF_Dictionary* pField, const CFX_WideString& parent_name, FX_BOOL bNotify = FALSE, int nLevel = 0); |
+ void FDF_ImportField(CPDF_Dictionary* pField, |
+ const CFX_WideString& parent_name, |
+ FX_BOOL bNotify = FALSE, |
+ int nLevel = 0); |
- FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, int iType, const CPDF_FormField* pExcludedField, const CPDF_FormControl* pExcludedControl); |
+ FX_BOOL ValidateFieldName(CFX_WideString& csNewFieldName, |
+ int iType, |
+ const CPDF_FormField* pExcludedField, |
+ const CPDF_FormControl* pExcludedControl); |
- int CompareFieldName(const CFX_WideString& name1, const CFX_WideString& name2); |
+ int CompareFieldName(const CFX_WideString& name1, |
+ const CFX_WideString& name2); |
- int CompareFieldName(const CFX_ByteString& name1, const CFX_ByteString& name2); |
+ int CompareFieldName(const CFX_ByteString& name1, |
+ const CFX_ByteString& name2); |
- CPDF_Document* m_pDocument; |
+ CPDF_Document* m_pDocument; |
- FX_BOOL m_bGenerateAP; |
+ FX_BOOL m_bGenerateAP; |
- CPDF_Dictionary* m_pFormDict; |
+ CPDF_Dictionary* m_pFormDict; |
- CFX_MapPtrToPtr m_ControlMap; |
+ CFX_MapPtrToPtr m_ControlMap; |
- CFieldTree *m_pFieldTree; |
+ CFieldTree* m_pFieldTree; |
- CFX_ByteString m_bsEncoding; |
+ CFX_ByteString m_bsEncoding; |
- CPDF_FormNotify* m_pFormNotify; |
+ CPDF_FormNotify* m_pFormNotify; |
- FX_BOOL m_bUpdated; |
- friend class CPDF_FormControl; |
- friend class CPDF_FormField; |
+ FX_BOOL m_bUpdated; |
+ friend class CPDF_FormControl; |
+ friend class CPDF_FormField; |
}; |
-#define FORMFIELD_READONLY 0x01 |
-#define FORMFIELD_REQUIRED 0x02 |
-#define FORMFIELD_NOEXPORT 0x04 |
-#define FORMRADIO_NOTOGGLEOFF 0x100 |
-#define FORMRADIO_UNISON 0x200 |
-#define FORMTEXT_MULTILINE 0x100 |
-#define FORMTEXT_PASSWORD 0x200 |
-#define FORMTEXT_NOSCROLL 0x400 |
-#define FORMTEXT_COMB 0x800 |
-#define FORMCOMBO_EDIT 0x100 |
-#define FORMLIST_MULTISELECT 0x100 |
-class CPDF_FormField |
-{ |
-public: |
- |
- enum Type { |
- Unknown, |
- PushButton, |
- RadioButton, |
- CheckBox, |
- Text, |
- RichText, |
- File, |
- ListBox, |
- ComboBox, |
- Sign |
- }; |
- |
- CFX_WideString GetFullName(); |
- |
- Type GetType() |
- { |
- return m_Type; |
- } |
- |
- FX_DWORD GetFlags() |
- { |
- return m_Flags; |
- } |
- |
- CPDF_InterForm* GetInterForm() const |
- { |
- return m_pForm; |
- } |
- |
- CPDF_Dictionary* GetFieldDict() const |
- { |
- return m_pDict; |
- } |
- |
- void SetFieldDict(CPDF_Dictionary* pDict) |
- { |
- m_pDict = pDict; |
- } |
- |
- FX_BOOL ResetField(FX_BOOL bNotify = FALSE); |
- |
- |
- |
- int CountControls() |
- { |
- return m_ControlList.GetSize(); |
- } |
- |
- CPDF_FormControl* GetControl(int index) |
- { |
- return (CPDF_FormControl*)m_ControlList.GetAt(index); |
- } |
- |
- int GetControlIndex(const CPDF_FormControl* pControl); |
- |
- |
- |
- |
- int GetFieldType(); |
- |
- |
- |
- |
- CPDF_AAction GetAdditionalAction(); |
- |
- |
- |
- |
- CFX_WideString GetAlternateName(); |
- |
- |
- |
- |
- CFX_WideString GetMappingName(); |
- |
- |
- |
- |
- FX_DWORD GetFieldFlags(); |
- |
- |
- |
- |
- CFX_ByteString GetDefaultStyle(); |
- |
- |
+#define FORMFIELD_READONLY 0x01 |
+#define FORMFIELD_REQUIRED 0x02 |
+#define FORMFIELD_NOEXPORT 0x04 |
+#define FORMRADIO_NOTOGGLEOFF 0x100 |
+#define FORMRADIO_UNISON 0x200 |
+#define FORMTEXT_MULTILINE 0x100 |
+#define FORMTEXT_PASSWORD 0x200 |
+#define FORMTEXT_NOSCROLL 0x400 |
+#define FORMTEXT_COMB 0x800 |
+#define FORMCOMBO_EDIT 0x100 |
+#define FORMLIST_MULTISELECT 0x100 |
+class CPDF_FormField { |
+ public: |
+ enum Type { |
+ Unknown, |
+ PushButton, |
+ RadioButton, |
+ CheckBox, |
+ Text, |
+ RichText, |
+ File, |
+ ListBox, |
+ ComboBox, |
+ Sign |
+ }; |
+ CFX_WideString GetFullName(); |
- CFX_WideString GetRichTextString(); |
+ Type GetType() { return m_Type; } |
+ FX_DWORD GetFlags() { return m_Flags; } |
+ CPDF_InterForm* GetInterForm() const { return m_pForm; } |
- CFX_WideString GetValue(); |
+ CPDF_Dictionary* GetFieldDict() const { return m_pDict; } |
- CFX_WideString GetDefaultValue(); |
+ void SetFieldDict(CPDF_Dictionary* pDict) { m_pDict = pDict; } |
- FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bNotify = FALSE); |
+ FX_BOOL ResetField(FX_BOOL bNotify = FALSE); |
+ int CountControls() { return m_ControlList.GetSize(); } |
+ CPDF_FormControl* GetControl(int index) { |
+ return (CPDF_FormControl*)m_ControlList.GetAt(index); |
+ } |
+ int GetControlIndex(const CPDF_FormControl* pControl); |
+ int GetFieldType(); |
- int GetMaxLen(); |
+ CPDF_AAction GetAdditionalAction(); |
+ CFX_WideString GetAlternateName(); |
+ CFX_WideString GetMappingName(); |
+ FX_DWORD GetFieldFlags(); |
- int CountSelectedItems(); |
+ CFX_ByteString GetDefaultStyle(); |
- int GetSelectedIndex(int index); |
+ CFX_WideString GetRichTextString(); |
- FX_BOOL ClearSelection(FX_BOOL bNotify = FALSE); |
+ CFX_WideString GetValue(); |
- FX_BOOL IsItemSelected(int index); |
+ CFX_WideString GetDefaultValue(); |
- FX_BOOL SetItemSelection(int index, FX_BOOL bSelected, FX_BOOL bNotify = FALSE); |
+ FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bNotify = FALSE); |
- FX_BOOL IsItemDefaultSelected(int index); |
+ int GetMaxLen(); |
- int GetDefaultSelectedItem(); |
+ int CountSelectedItems(); |
+ int GetSelectedIndex(int index); |
+ FX_BOOL ClearSelection(FX_BOOL bNotify = FALSE); |
+ FX_BOOL IsItemSelected(int index); |
- int CountOptions(); |
+ FX_BOOL SetItemSelection(int index, |
+ FX_BOOL bSelected, |
+ FX_BOOL bNotify = FALSE); |
- CFX_WideString GetOptionLabel(int index); |
+ FX_BOOL IsItemDefaultSelected(int index); |
- CFX_WideString GetOptionValue(int index); |
+ int GetDefaultSelectedItem(); |
- int FindOption(CFX_WideString csOptLabel); |
+ int CountOptions(); |
- int FindOptionValue(const CFX_WideString& csOptValue, int iStartIndex = 0); |
+ CFX_WideString GetOptionLabel(int index); |
+ CFX_WideString GetOptionValue(int index); |
+ int FindOption(CFX_WideString csOptLabel); |
+ int FindOptionValue(const CFX_WideString& csOptValue, int iStartIndex = 0); |
- FX_BOOL CheckControl(int iControlIndex, FX_BOOL bChecked, FX_BOOL bNotify = FALSE); |
+ FX_BOOL CheckControl(int iControlIndex, |
+ FX_BOOL bChecked, |
+ FX_BOOL bNotify = FALSE); |
+ int GetTopVisibleIndex(); |
+ int CountSelectedOptions(); |
+ int GetSelectedOptionIndex(int index); |
- int GetTopVisibleIndex(); |
+ FX_BOOL IsOptionSelected(int iOptIndex); |
+ FX_BOOL SelectOption(int iOptIndex, |
+ FX_BOOL bSelected, |
+ FX_BOOL bNotify = FALSE); |
+ FX_BOOL ClearSelectedOptions(FX_BOOL bNotify = FALSE); |
+ FX_FLOAT GetFontSize() { return m_FontSize; } |
- int CountSelectedOptions(); |
+ CPDF_Font* GetFont() { return m_pFont; } |
- int GetSelectedOptionIndex(int index); |
+ protected: |
+ CPDF_FormField(CPDF_InterForm* pForm, CPDF_Dictionary* pDict); |
- FX_BOOL IsOptionSelected(int iOptIndex); |
+ ~CPDF_FormField(); |
- FX_BOOL SelectOption(int iOptIndex, FX_BOOL bSelected, FX_BOOL bNotify = FALSE); |
+ CPDF_FormField::Type m_Type; |
- FX_BOOL ClearSelectedOptions(FX_BOOL bNotify = FALSE); |
+ FX_DWORD m_Flags; |
+ CPDF_InterForm* m_pForm; |
+ CPDF_Dictionary* m_pDict; |
+ CFX_PtrArray m_ControlList; |
+ friend class CPDF_InterForm; |
+ friend class CPDF_FormControl; |
- FX_FLOAT GetFontSize() |
- { |
- return m_FontSize; |
- } |
+ CFX_WideString GetValue(FX_BOOL bDefault); |
- CPDF_Font* GetFont() |
- { |
- return m_pFont; |
- } |
+ FX_BOOL SetValue(const CFX_WideString& value, |
+ FX_BOOL bDefault, |
+ FX_BOOL bNotify); |
-protected: |
+ void SyncFieldFlags(); |
- CPDF_FormField(CPDF_InterForm* pForm, CPDF_Dictionary* pDict); |
+ int FindListSel(CPDF_String* str); |
- ~CPDF_FormField(); |
+ CFX_WideString GetOptionText(int index, int sub_index); |
- CPDF_FormField::Type m_Type; |
+ void LoadDA(); |
- FX_DWORD m_Flags; |
+ void UpdateAP(CPDF_FormControl* pControl); |
- CPDF_InterForm* m_pForm; |
+ CFX_WideString GetCheckValue(FX_BOOL bDefault); |
- CPDF_Dictionary* m_pDict; |
+ FX_BOOL SetCheckValue(const CFX_WideString& value, |
+ FX_BOOL bDefault, |
+ FX_BOOL bNotify); |
- CFX_PtrArray m_ControlList; |
- friend class CPDF_InterForm; |
- friend class CPDF_FormControl; |
+ FX_FLOAT m_FontSize; |
- |
- |
- CFX_WideString GetValue(FX_BOOL bDefault); |
- |
- FX_BOOL SetValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify); |
- |
- |
- void SyncFieldFlags(); |
- |
- int FindListSel(CPDF_String* str); |
- |
- CFX_WideString GetOptionText(int index, int sub_index); |
- |
- void LoadDA(); |
- |
- void UpdateAP(CPDF_FormControl* pControl); |
- |
- |
- |
- CFX_WideString GetCheckValue(FX_BOOL bDefault); |
- |
- FX_BOOL SetCheckValue(const CFX_WideString& value, FX_BOOL bDefault, FX_BOOL bNotify); |
- |
- |
- FX_FLOAT m_FontSize; |
- |
- CPDF_Font* m_pFont; |
+ CPDF_Font* m_pFont; |
}; |
-CPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, const FX_CHAR* name, int nLevel = 0); |
-class CPDF_IconFit |
-{ |
-public: |
- |
- CPDF_IconFit(CPDF_Dictionary* pDict = NULL) |
- { |
- m_pDict = pDict; |
- } |
- |
- operator CPDF_Dictionary*() const |
- { |
- return m_pDict; |
- } |
- |
- |
- |
- |
- enum ScaleMethod { |
- Always = 0, |
- Bigger, |
- Smaller, |
- Never |
- }; |
- |
- ScaleMethod GetScaleMethod(); |
- |
- |
- |
- |
- FX_BOOL IsProportionalScale(); |
- |
- |
- |
+CPDF_Object* FPDF_GetFieldAttr(CPDF_Dictionary* pFieldDict, |
+ const FX_CHAR* name, |
+ int nLevel = 0); |
+class CPDF_IconFit { |
+ public: |
+ CPDF_IconFit(CPDF_Dictionary* pDict = NULL) { m_pDict = pDict; } |
- void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom); |
+ operator CPDF_Dictionary*() const { return m_pDict; } |
+ enum ScaleMethod { Always = 0, Bigger, Smaller, Never }; |
+ ScaleMethod GetScaleMethod(); |
+ FX_BOOL IsProportionalScale(); |
- FX_BOOL GetFittingBounds(); |
+ void GetIconPosition(FX_FLOAT& fLeft, FX_FLOAT& fBottom); |
+ FX_BOOL GetFittingBounds(); |
- CPDF_Dictionary* m_pDict; |
+ CPDF_Dictionary* m_pDict; |
}; |
-#define TEXTPOS_CAPTION 0 |
-#define TEXTPOS_ICON 1 |
-#define TEXTPOS_BELOW 2 |
-#define TEXTPOS_ABOVE 3 |
-#define TEXTPOS_RIGHT 4 |
-#define TEXTPOS_LEFT 5 |
-#define TEXTPOS_OVERLAID 6 |
-class CPDF_FormControl |
-{ |
-public: |
- |
- CPDF_FormField::Type GetType() |
- { |
- return m_pField->GetType(); |
- } |
- |
- CPDF_InterForm* GetInterForm() const |
- { |
- return m_pForm; |
- } |
- |
- CPDF_FormField* GetField() const |
- { |
- return m_pField; |
- } |
- |
- CPDF_Dictionary* GetWidget() const |
- { |
- return m_pWidgetDict; |
- } |
- |
- CFX_FloatRect GetRect(); |
- |
- void DrawControl(CFX_RenderDevice* pDevice, CFX_AffineMatrix* pMatrix, |
- CPDF_Page* pPage, CPDF_Annot::AppearanceMode mode, const CPDF_RenderOptions* pOptions = NULL); |
- |
- |
- |
- CFX_ByteString GetCheckedAPState(); |
- |
- CFX_WideString GetExportValue(); |
- |
- FX_BOOL IsChecked(); |
- |
- FX_BOOL IsDefaultChecked(); |
- |
- |
- |
- |
- enum HighlightingMode { |
- None = 0, |
- Invert, |
- Outline, |
- Push, |
- Toggle |
- }; |
- |
- HighlightingMode GetHighlightingMode(); |
- |
- |
- |
- |
- FX_BOOL HasMKEntry(CFX_ByteString csEntry); |
- |
- |
- |
- |
- int GetRotation(); |
- |
- |
- |
- |
- inline FX_ARGB GetBorderColor(int& iColorType) |
- { |
- return GetColor(iColorType, "BC"); |
- } |
- |
- inline FX_FLOAT GetOriginalBorderColor(int index) |
- { |
- return GetOriginalColor(index, "BC"); |
- } |
+#define TEXTPOS_CAPTION 0 |
+#define TEXTPOS_ICON 1 |
+#define TEXTPOS_BELOW 2 |
+#define TEXTPOS_ABOVE 3 |
+#define TEXTPOS_RIGHT 4 |
+#define TEXTPOS_LEFT 5 |
+#define TEXTPOS_OVERLAID 6 |
+class CPDF_FormControl { |
+ public: |
+ CPDF_FormField::Type GetType() { return m_pField->GetType(); } |
- inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) |
- { |
- GetOriginalColor(iColorType, fc, "BC"); |
- } |
+ CPDF_InterForm* GetInterForm() const { return m_pForm; } |
+ CPDF_FormField* GetField() const { return m_pField; } |
+ CPDF_Dictionary* GetWidget() const { return m_pWidgetDict; } |
+ CFX_FloatRect GetRect(); |
- inline FX_ARGB GetBackgroundColor(int& iColorType) |
- { |
- return GetColor(iColorType, "BG"); |
- } |
+ void DrawControl(CFX_RenderDevice* pDevice, |
+ CFX_AffineMatrix* pMatrix, |
+ CPDF_Page* pPage, |
+ CPDF_Annot::AppearanceMode mode, |
+ const CPDF_RenderOptions* pOptions = NULL); |
- inline FX_FLOAT GetOriginalBackgroundColor(int index) |
- { |
- return GetOriginalColor(index, "BG"); |
- } |
+ CFX_ByteString GetCheckedAPState(); |
- inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) |
- { |
- GetOriginalColor(iColorType, fc, "BG"); |
- } |
+ CFX_WideString GetExportValue(); |
+ FX_BOOL IsChecked(); |
+ FX_BOOL IsDefaultChecked(); |
+ enum HighlightingMode { None = 0, Invert, Outline, Push, Toggle }; |
- inline CFX_WideString GetNormalCaption() |
- { |
- return GetCaption("CA"); |
- } |
+ HighlightingMode GetHighlightingMode(); |
+ FX_BOOL HasMKEntry(CFX_ByteString csEntry); |
+ int GetRotation(); |
+ inline FX_ARGB GetBorderColor(int& iColorType) { |
+ return GetColor(iColorType, "BC"); |
+ } |
- inline CFX_WideString GetRolloverCaption() |
- { |
- return GetCaption("RC"); |
- } |
+ inline FX_FLOAT GetOriginalBorderColor(int index) { |
+ return GetOriginalColor(index, "BC"); |
+ } |
+ inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) { |
+ GetOriginalColor(iColorType, fc, "BC"); |
+ } |
+ inline FX_ARGB GetBackgroundColor(int& iColorType) { |
+ return GetColor(iColorType, "BG"); |
+ } |
+ inline FX_FLOAT GetOriginalBackgroundColor(int index) { |
+ return GetOriginalColor(index, "BG"); |
+ } |
- inline CFX_WideString GetDownCaption() |
- { |
- return GetCaption("AC"); |
- } |
+ inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) { |
+ GetOriginalColor(iColorType, fc, "BG"); |
+ } |
+ inline CFX_WideString GetNormalCaption() { return GetCaption("CA"); } |
+ inline CFX_WideString GetRolloverCaption() { return GetCaption("RC"); } |
+ inline CFX_WideString GetDownCaption() { return GetCaption("AC"); } |
- inline CPDF_Stream* GetNormalIcon() |
- { |
- return GetIcon("I"); |
- } |
+ inline CPDF_Stream* GetNormalIcon() { return GetIcon("I"); } |
+ inline CPDF_Stream* GetRolloverIcon() { return GetIcon("RI"); } |
+ inline CPDF_Stream* GetDownIcon() { return GetIcon("IX"); } |
+ CPDF_IconFit GetIconFit(); |
- inline CPDF_Stream* GetRolloverIcon() |
- { |
- return GetIcon("RI"); |
- } |
+ int GetTextPosition(); |
+ CPDF_Action GetAction(); |
+ CPDF_AAction GetAdditionalAction(); |
+ CPDF_DefaultAppearance GetDefaultAppearance(); |
- inline CPDF_Stream* GetDownIcon() |
- { |
- return GetIcon("IX"); |
- } |
+ CPDF_Font* GetDefaultControlFont(); |
+ int GetControlAlignment(); |
+ protected: |
+ CPDF_FormControl(CPDF_FormField* pField, CPDF_Dictionary* pWidgetDict); |
+ CFX_ByteString GetOnStateName(); |
- CPDF_IconFit GetIconFit(); |
+ void SetOnStateName(const CFX_ByteString& csOn); |
+ void CheckControl(FX_BOOL bChecked); |
+ FX_ARGB GetColor(int& iColorType, CFX_ByteString csEntry); |
+ FX_FLOAT GetOriginalColor(int index, CFX_ByteString csEntry); |
- int GetTextPosition(); |
+ void GetOriginalColor(int& iColorType, |
+ FX_FLOAT fc[4], |
+ CFX_ByteString csEntry); |
+ CFX_WideString GetCaption(CFX_ByteString csEntry); |
+ CPDF_Stream* GetIcon(CFX_ByteString csEntry); |
+ CPDF_ApSettings GetMK(FX_BOOL bCreate); |
- CPDF_Action GetAction(); |
+ CPDF_InterForm* m_pForm; |
+ CPDF_FormField* m_pField; |
+ CPDF_Dictionary* m_pWidgetDict; |
+ friend class CPDF_InterForm; |
+ friend class CPDF_FormField; |
+}; |
+class CPDF_FormNotify { |
+ public: |
+ virtual ~CPDF_FormNotify() {} |
+ virtual int BeforeValueChange(const CPDF_FormField* pField, |
+ CFX_WideString& csValue) { |
+ return 0; |
+ } |
- CPDF_AAction GetAdditionalAction(); |
- |
- |
- |
- |
- CPDF_DefaultAppearance GetDefaultAppearance(); |
- |
- CPDF_Font* GetDefaultControlFont(); |
- |
- |
- |
- |
- int GetControlAlignment(); |
- |
-protected: |
- |
- CPDF_FormControl(CPDF_FormField* pField, CPDF_Dictionary* pWidgetDict); |
- |
- CFX_ByteString GetOnStateName(); |
- |
- void SetOnStateName(const CFX_ByteString& csOn); |
- |
- void CheckControl(FX_BOOL bChecked); |
- |
- FX_ARGB GetColor(int& iColorType, CFX_ByteString csEntry); |
- |
- FX_FLOAT GetOriginalColor(int index, CFX_ByteString csEntry); |
+ virtual int AfterValueChange(const CPDF_FormField* pField) { return 0; } |
- void GetOriginalColor(int& iColorType, FX_FLOAT fc[4], CFX_ByteString csEntry); |
+ virtual int BeforeSelectionChange(const CPDF_FormField* pField, |
+ CFX_WideString& csValue) { |
+ return 0; |
+ } |
- CFX_WideString GetCaption(CFX_ByteString csEntry); |
+ virtual int AfterSelectionChange(const CPDF_FormField* pField) { return 0; } |
- CPDF_Stream* GetIcon(CFX_ByteString csEntry); |
+ virtual int AfterCheckedStatusChange(const CPDF_FormField* pField, |
+ const CFX_ByteArray& statusArray) { |
+ return 0; |
+ } |
- CPDF_ApSettings GetMK(FX_BOOL bCreate); |
+ virtual int BeforeFormReset(const CPDF_InterForm* pForm) { return 0; } |
- CPDF_InterForm* m_pForm; |
+ virtual int AfterFormReset(const CPDF_InterForm* pForm) { return 0; } |
- CPDF_FormField* m_pField; |
+ virtual int BeforeFormImportData(const CPDF_InterForm* pForm) { return 0; } |
- CPDF_Dictionary* m_pWidgetDict; |
- friend class CPDF_InterForm; |
- friend class CPDF_FormField; |
+ virtual int AfterFormImportData(const CPDF_InterForm* pForm) { return 0; } |
}; |
-class CPDF_FormNotify |
-{ |
-public: |
- |
- virtual ~CPDF_FormNotify() {} |
- |
- virtual int BeforeValueChange(const CPDF_FormField* pField, CFX_WideString& csValue) |
- { |
- return 0; |
- } |
- |
- virtual int AfterValueChange(const CPDF_FormField* pField) |
- { |
- return 0; |
- } |
- |
- virtual int BeforeSelectionChange(const CPDF_FormField* pField, CFX_WideString& csValue) |
- { |
- return 0; |
- } |
- |
- virtual int AfterSelectionChange(const CPDF_FormField* pField) |
- { |
- return 0; |
- } |
- |
- virtual int AfterCheckedStatusChange(const CPDF_FormField* pField, const CFX_ByteArray& statusArray) |
- { |
- return 0; |
- } |
- |
- virtual int BeforeFormReset(const CPDF_InterForm* pForm) |
- { |
- return 0; |
- } |
- |
- virtual int AfterFormReset(const CPDF_InterForm* pForm) |
- { |
- return 0; |
- } |
- |
- virtual int BeforeFormImportData(const CPDF_InterForm* pForm) |
- { |
- return 0; |
- } |
- |
- virtual int AfterFormImportData(const CPDF_InterForm* pForm) |
- { |
- return 0; |
- } |
-}; |
-FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict); |
-class CPDF_PageLabel |
-{ |
-public: |
- |
- CPDF_PageLabel(CPDF_Document* pDocument) |
- { |
- m_pDocument = pDocument; |
- } |
+FX_BOOL FPDF_GenerateAP(CPDF_Document* pDoc, CPDF_Dictionary* pAnnotDict); |
+class CPDF_PageLabel { |
+ public: |
+ CPDF_PageLabel(CPDF_Document* pDocument) { m_pDocument = pDocument; } |
+ CFX_WideString GetLabel(int nPage) const; |
- CFX_WideString GetLabel(int nPage) const; |
+ int32_t GetPageByLabel(const CFX_ByteStringC& bsLabel) const; |
- int32_t GetPageByLabel(const CFX_ByteStringC& bsLabel) const; |
+ int32_t GetPageByLabel(const CFX_WideStringC& wsLabel) const; |
- |
- int32_t GetPageByLabel(const CFX_WideStringC& wsLabel) const; |
- |
-protected: |
- CPDF_Document* m_pDocument; |
+ protected: |
+ CPDF_Document* m_pDocument; |
}; |
-class CPDF_Metadata |
-{ |
-public: |
- |
- CPDF_Metadata(); |
- |
+class CPDF_Metadata { |
+ public: |
+ CPDF_Metadata(); |
- ~CPDF_Metadata(); |
+ ~CPDF_Metadata(); |
- void LoadDoc(CPDF_Document *pDoc); |
+ void LoadDoc(CPDF_Document* pDoc); |
+ int32_t GetString(const CFX_ByteStringC& bsItem, CFX_WideString& wsStr); |
- int32_t GetString(const CFX_ByteStringC& bsItem, CFX_WideString &wsStr); |
+ CXML_Element* GetRoot() const; |
- CXML_Element* GetRoot() const; |
+ CXML_Element* GetRDF() const; |
- CXML_Element* GetRDF() const; |
- |
-protected: |
- void* m_pData; |
+ protected: |
+ void* m_pData; |
}; |
-class CPDF_ViewerPreferences |
-{ |
-public: |
- |
- CPDF_ViewerPreferences(CPDF_Document *pDoc); |
- |
- |
- ~CPDF_ViewerPreferences(); |
+class CPDF_ViewerPreferences { |
+ public: |
+ CPDF_ViewerPreferences(CPDF_Document* pDoc); |
+ ~CPDF_ViewerPreferences(); |
- FX_BOOL IsDirectionR2L() const; |
+ FX_BOOL IsDirectionR2L() const; |
- FX_BOOL PrintScaling() const; |
+ FX_BOOL PrintScaling() const; |
- int32_t NumCopies() const; |
+ int32_t NumCopies() const; |
- CPDF_Array* PrintPageRange() const; |
+ CPDF_Array* PrintPageRange() const; |
- CFX_ByteString Duplex() const; |
+ CFX_ByteString Duplex() const; |
-protected: |
- CPDF_Document* m_pDoc; |
+ protected: |
+ CPDF_Document* m_pDoc; |
}; |
-class CPDF_ApSettings |
-{ |
-public: |
- |
- CPDF_ApSettings(CPDF_Dictionary* pDict = NULL) |
- { |
- m_pDict = pDict; |
- } |
- |
- operator CPDF_Dictionary* () const |
- { |
- return m_pDict; |
- } |
- |
- FX_BOOL HasMKEntry(const CFX_ByteStringC& csEntry); |
- |
- |
- |
- int GetRotation(); |
- |
- |
- |
- |
- inline FX_ARGB GetBorderColor(int& iColorType) |
- { |
- return GetColor(iColorType, FX_BSTRC("BC")); |
- } |
- |
- inline FX_FLOAT GetOriginalBorderColor(int index) |
- { |
- return GetOriginalColor(index, FX_BSTRC("BC")); |
- } |
- |
- inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) |
- { |
- GetOriginalColor(iColorType, fc, FX_BSTRC("BC")); |
- } |
- |
- |
- |
- |
- inline FX_ARGB GetBackgroundColor(int& iColorType) |
- { |
- return GetColor(iColorType, FX_BSTRC("BG")); |
- } |
- |
- inline FX_FLOAT GetOriginalBackgroundColor(int index) |
- { |
- return GetOriginalColor(index, FX_BSTRC("BG")); |
- } |
- |
- inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) |
- { |
- GetOriginalColor(iColorType, fc, FX_BSTRC("BG")); |
- } |
- |
- |
- |
- |
- inline CFX_WideString GetNormalCaption() |
- { |
- return GetCaption(FX_BSTRC("CA")); |
- } |
- |
- |
- |
- |
- inline CFX_WideString GetRolloverCaption() |
- { |
- return GetCaption(FX_BSTRC("RC")); |
- } |
- |
- |
- |
- |
- inline CFX_WideString GetDownCaption() |
- { |
- return GetCaption(FX_BSTRC("AC")); |
- } |
- |
- |
- |
+class CPDF_ApSettings { |
+ public: |
+ CPDF_ApSettings(CPDF_Dictionary* pDict = NULL) { m_pDict = pDict; } |
- inline CPDF_Stream* GetNormalIcon() |
- { |
- return GetIcon(FX_BSTRC("I")); |
- } |
+ operator CPDF_Dictionary*() const { return m_pDict; } |
+ FX_BOOL HasMKEntry(const CFX_ByteStringC& csEntry); |
+ int GetRotation(); |
+ inline FX_ARGB GetBorderColor(int& iColorType) { |
+ return GetColor(iColorType, FX_BSTRC("BC")); |
+ } |
- inline CPDF_Stream* GetRolloverIcon() |
- { |
- return GetIcon(FX_BSTRC("RI")); |
- } |
+ inline FX_FLOAT GetOriginalBorderColor(int index) { |
+ return GetOriginalColor(index, FX_BSTRC("BC")); |
+ } |
+ inline void GetOriginalBorderColor(int& iColorType, FX_FLOAT fc[4]) { |
+ GetOriginalColor(iColorType, fc, FX_BSTRC("BC")); |
+ } |
+ inline FX_ARGB GetBackgroundColor(int& iColorType) { |
+ return GetColor(iColorType, FX_BSTRC("BG")); |
+ } |
+ inline FX_FLOAT GetOriginalBackgroundColor(int index) { |
+ return GetOriginalColor(index, FX_BSTRC("BG")); |
+ } |
- inline CPDF_Stream* GetDownIcon() |
- { |
- return GetIcon(FX_BSTRC("IX")); |
- } |
+ inline void GetOriginalBackgroundColor(int& iColorType, FX_FLOAT fc[4]) { |
+ GetOriginalColor(iColorType, fc, FX_BSTRC("BG")); |
+ } |
+ inline CFX_WideString GetNormalCaption() { |
+ return GetCaption(FX_BSTRC("CA")); |
+ } |
+ inline CFX_WideString GetRolloverCaption() { |
+ return GetCaption(FX_BSTRC("RC")); |
+ } |
+ inline CFX_WideString GetDownCaption() { return GetCaption(FX_BSTRC("AC")); } |
- CPDF_IconFit GetIconFit(); |
+ inline CPDF_Stream* GetNormalIcon() { return GetIcon(FX_BSTRC("I")); } |
+ inline CPDF_Stream* GetRolloverIcon() { return GetIcon(FX_BSTRC("RI")); } |
+ inline CPDF_Stream* GetDownIcon() { return GetIcon(FX_BSTRC("IX")); } |
+ CPDF_IconFit GetIconFit(); |
- int GetTextPosition(); |
+ int GetTextPosition(); |
- CPDF_Dictionary* m_pDict; |
-protected: |
+ CPDF_Dictionary* m_pDict; |
- FX_ARGB GetColor(int& iColorType, const CFX_ByteStringC& csEntry); |
+ protected: |
+ FX_ARGB GetColor(int& iColorType, const CFX_ByteStringC& csEntry); |
- FX_FLOAT GetOriginalColor(int index, const CFX_ByteStringC& csEntry); |
+ FX_FLOAT GetOriginalColor(int index, const CFX_ByteStringC& csEntry); |
- void GetOriginalColor(int& iColorType, FX_FLOAT fc[4], const CFX_ByteStringC& csEntry); |
+ void GetOriginalColor(int& iColorType, |
+ FX_FLOAT fc[4], |
+ const CFX_ByteStringC& csEntry); |
- CFX_WideString GetCaption(const CFX_ByteStringC& csEntry); |
+ CFX_WideString GetCaption(const CFX_ByteStringC& csEntry); |
- CPDF_Stream* GetIcon(const CFX_ByteStringC& csEntry); |
- friend class CPDF_FormControl; |
+ CPDF_Stream* GetIcon(const CFX_ByteStringC& csEntry); |
+ friend class CPDF_FormControl; |
}; |
#endif // CORE_INCLUDE_FPDFDOC_FPDF_DOC_H_ |