| 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();
|
|
|