Index: fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h |
diff --git a/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h b/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h |
index 90ef6f36b3a415ad6d2e0b2268ecaa7c1644de16..21a5b13cfaaaed70314b479d3835dca14e6a52b3 100644 |
--- a/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h |
+++ b/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h |
@@ -7,11 +7,12 @@ |
#ifndef FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ |
#define FPDFSDK_FPDFXFA_INCLUDE_FPDFXFA_DOC_H_ |
+#include "xfa/fxfa/include/xfa_ffdoc.h" |
+ |
#include <vector> |
#include "public/fpdfview.h" |
#include "xfa/fxfa/include/fxfa.h" |
-#include "xfa/fxfa/include/xfa_ffdoc.h" |
#include "xfa/fxfa/include/xfa_ffdochandler.h" |
class CPDFXFA_App; |
@@ -26,7 +27,7 @@ class CXFA_FFDocHandler; |
class CPDFXFA_Document : public IXFA_DocProvider { |
public: |
CPDFXFA_Document(CPDF_Document* pPDFDoc, CPDFXFA_App* pProvider); |
- ~CPDFXFA_Document(); |
+ ~CPDFXFA_Document() override; |
FX_BOOL LoadXFADoc(); |
CPDFXFA_App* GetApp() { return m_pApp; } |
@@ -46,99 +47,85 @@ class CPDFXFA_Document : public IXFA_DocProvider { |
void FXRect2PDFRect(const CFX_RectF& fxRectF, CFX_FloatRect& pdfRect); |
- virtual void SetChangeMark(CXFA_FFDoc* hDoc); |
- virtual FX_BOOL GetChangeMark(CXFA_FFDoc* hDoc); |
+ // IXFA_DocProvider |
+ void SetChangeMark(CXFA_FFDoc* hDoc) override; |
// used in dynamic xfa, dwFlags refer to XFA_INVALIDATE_XXX macros. |
- virtual void InvalidateRect(CXFA_FFPageView* pPageView, |
- const CFX_RectF& rt, |
- uint32_t dwFlags = 0); |
- // used in static xfa, dwFlags refer to XFA_INVALIDATE_XXX macros. |
- virtual void InvalidateRect(CXFA_FFWidget* hWidget, uint32_t dwFlags = 0); |
+ void InvalidateRect(CXFA_FFPageView* pPageView, |
+ const CFX_RectF& rt, |
+ uint32_t dwFlags = 0) override; |
// show or hide caret |
- virtual void DisplayCaret(CXFA_FFWidget* hWidget, |
- FX_BOOL bVisible, |
- const CFX_RectF* pRtAnchor); |
+ void DisplayCaret(CXFA_FFWidget* hWidget, |
+ FX_BOOL bVisible, |
+ const CFX_RectF* pRtAnchor) override; |
// dwPos: (0:bottom 1:top) |
- virtual FX_BOOL GetPopupPos(CXFA_FFWidget* hWidget, |
- FX_FLOAT fMinPopup, |
- FX_FLOAT fMaxPopup, |
- const CFX_RectF& rtAnchor, |
- CFX_RectF& rtPopup); |
- virtual FX_BOOL PopupMenu(CXFA_FFWidget* hWidget, |
- CFX_PointF ptPopup, |
- const CFX_RectF* pRectExclude = nullptr); |
+ FX_BOOL GetPopupPos(CXFA_FFWidget* hWidget, |
+ FX_FLOAT fMinPopup, |
+ FX_FLOAT fMaxPopup, |
+ const CFX_RectF& rtAnchor, |
+ CFX_RectF& rtPopup) override; |
+ FX_BOOL PopupMenu(CXFA_FFWidget* hWidget, |
+ CFX_PointF ptPopup, |
+ const CFX_RectF* pRectExclude = nullptr) override; |
// dwFlags XFA_PAGEVIEWEVENT_Added, XFA_PAGEVIEWEVENT_Removing |
- virtual void PageViewEvent(CXFA_FFPageView* pPageView, uint32_t dwFlags); |
- virtual void WidgetPostAdd(CXFA_FFWidget* hWidget, |
- CXFA_WidgetAcc* pWidgetData); |
- virtual void WidgetPreRemove(CXFA_FFWidget* hWidget, |
- CXFA_WidgetAcc* pWidgetData); |
+ void PageViewEvent(CXFA_FFPageView* pPageView, uint32_t dwFlags) override; |
+ void WidgetPostAdd(CXFA_FFWidget* hWidget, |
+ CXFA_WidgetAcc* pWidgetData) override; |
+ void WidgetPreRemove(CXFA_FFWidget* hWidget, |
+ CXFA_WidgetAcc* pWidgetData) override; |
// return true if render it. |
- virtual FX_BOOL RenderCustomWidget(CXFA_FFWidget* hWidget, |
- CFX_Graphics* pGS, |
- CFX_Matrix* pMatrix, |
- const CFX_RectF& rtUI) { |
- return FALSE; |
- } |
- |
- // host method |
- virtual int32_t CountPages(CXFA_FFDoc* hDoc); |
- virtual int32_t GetCurrentPage(CXFA_FFDoc* hDoc); |
- virtual void SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage); |
- virtual FX_BOOL IsCalculationsEnabled(CXFA_FFDoc* hDoc); |
- virtual void SetCalculationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled); |
- virtual void GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle); |
- virtual void SetTitle(CXFA_FFDoc* hDoc, const CFX_WideString& wsTitle); |
- virtual void ExportData(CXFA_FFDoc* hDoc, |
- const CFX_WideString& wsFilePath, |
- FX_BOOL bXDP = TRUE); |
- virtual void ImportData(CXFA_FFDoc* hDoc, const CFX_WideString& wsFilePath); |
- virtual void GotoURL(CXFA_FFDoc* hDoc, |
- const CFX_WideString& bsURL, |
- FX_BOOL bAppend = TRUE); |
- virtual FX_BOOL IsValidationsEnabled(CXFA_FFDoc* hDoc); |
- virtual void SetValidationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled); |
- virtual void SetFocusWidget(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget); |
- virtual void Print(CXFA_FFDoc* hDoc, |
- int32_t nStartPage, |
- int32_t nEndPage, |
- uint32_t dwOptions); |
+ FX_BOOL RenderCustomWidget(CXFA_FFWidget* hWidget, |
+ CFX_Graphics* pGS, |
+ CFX_Matrix* pMatrix, |
+ const CFX_RectF& rtUI) override; |
+ |
+ // Host method |
+ int32_t CountPages(CXFA_FFDoc* hDoc) override; |
+ int32_t GetCurrentPage(CXFA_FFDoc* hDoc) override; |
+ void SetCurrentPage(CXFA_FFDoc* hDoc, int32_t iCurPage) override; |
+ FX_BOOL IsCalculationsEnabled(CXFA_FFDoc* hDoc) override; |
+ void SetCalculationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled) override; |
+ void GetTitle(CXFA_FFDoc* hDoc, CFX_WideString& wsTitle) override; |
+ void SetTitle(CXFA_FFDoc* hDoc, const CFX_WideString& wsTitle) override; |
+ void ExportData(CXFA_FFDoc* hDoc, |
+ const CFX_WideString& wsFilePath, |
+ FX_BOOL bXDP = TRUE) override; |
+ void ImportData(CXFA_FFDoc* hDoc, const CFX_WideString& wsFilePath) override; |
+ void GotoURL(CXFA_FFDoc* hDoc, |
+ const CFX_WideString& bsURL, |
+ FX_BOOL bAppend = TRUE) override; |
+ FX_BOOL IsValidationsEnabled(CXFA_FFDoc* hDoc) override; |
+ void SetValidationsEnabled(CXFA_FFDoc* hDoc, FX_BOOL bEnabled) override; |
+ void SetFocusWidget(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) override; |
+ void Print(CXFA_FFDoc* hDoc, |
+ int32_t nStartPage, |
+ int32_t nEndPage, |
+ uint32_t dwOptions) override; |
// LayoutPseudo method |
- virtual int32_t AbsPageCountInBatch(CXFA_FFDoc* hDoc) { return 0; } |
- virtual int32_t AbsPageInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) { |
- return 0; |
- } |
- virtual int32_t SheetCountInBatch(CXFA_FFDoc* hDoc) { return 0; } |
- virtual int32_t SheetInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) { |
- return 0; |
- } |
- |
- virtual int32_t Verify(CXFA_FFDoc* hDoc, |
- CXFA_Node* pSigNode, |
- FX_BOOL bUsed = TRUE) { |
- return 0; |
- } |
- virtual FX_BOOL Sign(CXFA_FFDoc* hDoc, |
- CXFA_NodeList* pNodeList, |
- const CFX_WideStringC& wsExpression, |
- const CFX_WideStringC& wsXMLIdent, |
- const CFX_WideStringC& wsValue = FX_WSTRC(L"open"), |
- FX_BOOL bUsed = TRUE) { |
- return 0; |
- } |
- virtual CXFA_NodeList* Enumerate(CXFA_FFDoc* hDoc) { return 0; } |
- virtual FX_BOOL Clear(CXFA_FFDoc* hDoc, |
- CXFA_Node* pSigNode, |
- FX_BOOL bCleared = TRUE) { |
- return 0; |
- } |
+ int32_t AbsPageCountInBatch(CXFA_FFDoc* hDoc) override; |
+ int32_t AbsPageInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) override; |
+ int32_t SheetCountInBatch(CXFA_FFDoc* hDoc) override; |
+ int32_t SheetInBatch(CXFA_FFDoc* hDoc, CXFA_FFWidget* hWidget) override; |
+ |
+ int32_t Verify(CXFA_FFDoc* hDoc, |
+ CXFA_Node* pSigNode, |
+ FX_BOOL bUsed = TRUE) override; |
+ FX_BOOL Sign(CXFA_FFDoc* hDoc, |
+ CXFA_NodeList* pNodeList, |
+ const CFX_WideStringC& wsExpression, |
+ const CFX_WideStringC& wsXMLIdent, |
+ const CFX_WideStringC& wsValue = FX_WSTRC(L"open"), |
+ FX_BOOL bUsed = TRUE) override; |
+ CXFA_NodeList* Enumerate(CXFA_FFDoc* hDoc) override; |
+ FX_BOOL Clear(CXFA_FFDoc* hDoc, |
+ CXFA_Node* pSigNode, |
+ FX_BOOL bCleared = TRUE) override; |
// Get document path |
- virtual void GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL); |
- virtual FX_ARGB GetHighlightColor(CXFA_FFDoc* hDoc); |
+ void GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) override; |
+ FX_ARGB GetHighlightColor(CXFA_FFDoc* hDoc) override; |
/** |
*Submit data to email, http, ftp. |
@@ -152,36 +139,30 @@ class CPDFXFA_Document : public IXFA_DocProvider { |
* @param[in] bEmbedPDF, specifies whether PDF is embedded in the submitted |
*content or not. |
*/ |
- virtual FX_BOOL SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit); |
+ FX_BOOL SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit) override; |
- virtual FX_BOOL CheckWord(CXFA_FFDoc* hDoc, const CFX_ByteStringC& sWord) { |
- return FALSE; |
- } |
- virtual FX_BOOL GetSuggestWords(CXFA_FFDoc* hDoc, |
- const CFX_ByteStringC& sWord, |
- std::vector<CFX_ByteString>& sSuggest) { |
- return FALSE; |
- } |
+ FX_BOOL CheckWord(CXFA_FFDoc* hDoc, const CFX_ByteStringC& sWord) override; |
+ FX_BOOL GetSuggestWords(CXFA_FFDoc* hDoc, |
+ const CFX_ByteStringC& sWord, |
+ std::vector<CFX_ByteString>& sSuggest) override; |
// Get PDF javascript object, set the object to pValue. |
- virtual FX_BOOL GetPDFScriptObject(CXFA_FFDoc* hDoc, |
- const CFX_ByteStringC& utf8Name, |
- CFXJSE_Value* pValue); |
- |
- virtual FX_BOOL GetGlobalProperty(CXFA_FFDoc* hDoc, |
- const CFX_ByteStringC& szPropName, |
- CFXJSE_Value* pValue); |
- virtual FX_BOOL SetGlobalProperty(CXFA_FFDoc* hDoc, |
- const CFX_ByteStringC& szPropName, |
- CFXJSE_Value* pValue); |
- virtual CPDF_Document* OpenPDF(CXFA_FFDoc* hDoc, |
- IFX_FileRead* pFile, |
- FX_BOOL bTakeOverFile) { |
- return nullptr; |
- } |
- |
- virtual IFX_FileRead* OpenLinkedFile(CXFA_FFDoc* hDoc, |
- const CFX_WideString& wsLink); |
+ FX_BOOL GetPDFScriptObject(CXFA_FFDoc* hDoc, |
+ const CFX_ByteStringC& utf8Name, |
+ CFXJSE_Value* pValue) override; |
+ |
+ FX_BOOL GetGlobalProperty(CXFA_FFDoc* hDoc, |
+ const CFX_ByteStringC& szPropName, |
+ CFXJSE_Value* pValue) override; |
+ FX_BOOL SetGlobalProperty(CXFA_FFDoc* hDoc, |
+ const CFX_ByteStringC& szPropName, |
+ CFXJSE_Value* pValue) override; |
+ CPDF_Document* OpenPDF(CXFA_FFDoc* hDoc, |
+ IFX_FileRead* pFile, |
+ FX_BOOL bTakeOverFile) override; |
+ |
+ IFX_FileRead* OpenLinkedFile(CXFA_FFDoc* hDoc, |
+ const CFX_WideString& wsLink) override; |
FX_BOOL _OnBeforeNotifySumbit(); |
void _OnAfterNotifySumbit(); |