summaryrefslogtreecommitdiff
path: root/fpdfsdk/fpdfxfa
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/fpdfxfa')
-rw-r--r--fpdfsdk/fpdfxfa/fpdfxfa_app.cpp17
-rw-r--r--fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp100
-rw-r--r--fpdfsdk/fpdfxfa/fpdfxfa_page.cpp1
-rw-r--r--fpdfsdk/fpdfxfa/include/fpdfxfa_app.h10
-rw-r--r--fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h203
-rw-r--r--fpdfsdk/fpdfxfa/include/fpdfxfa_page.h5
6 files changed, 183 insertions, 153 deletions
diff --git a/fpdfsdk/fpdfxfa/fpdfxfa_app.cpp b/fpdfsdk/fpdfxfa/fpdfxfa_app.cpp
index ffc4e5363a..5fe114a64c 100644
--- a/fpdfsdk/fpdfxfa/fpdfxfa_app.cpp
+++ b/fpdfsdk/fpdfxfa/fpdfxfa_app.cpp
@@ -5,11 +5,10 @@
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#include "fpdfsdk/fpdfxfa/include/fpdfxfa_app.h"
-#include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
+
#include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h"
#include "fpdfsdk/include/fsdk_define.h"
#include "fpdfsdk/include/fsdk_mgr.h"
-#include "public/fpdf_formfill.h"
#include "xfa/fxbarcode/include/BC_Library.h"
#include "xfa/fxfa/include/xfa_ffapp.h"
#include "xfa/fxfa/include/xfa_fontmgr.h"
@@ -94,10 +93,20 @@ void CPDFXFA_App::GetAppName(CFX_WideString& wsName) {
}
}
+void CPDFXFA_App::GetFoxitAppName(CFX_WideString& wsFoxitName) {
+ wsFoxitName = L"Foxit";
+}
+
void CPDFXFA_App::SetAppType(const CFX_WideStringC& wsAppType) {
m_csAppType = wsAppType;
}
+void CPDFXFA_App::SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) {}
+
+void CPDFXFA_App::GetFoxitAppType(CFX_WideString& wsFoxitAppType) {
+ wsFoxitAppType.clear();
+}
+
void CPDFXFA_App::GetLanguage(CFX_WideString& wsLanguage) {
CPDFDoc_Environment* pEnv = m_pEnvList.GetAt(0);
if (pEnv) {
@@ -120,6 +129,10 @@ void CPDFXFA_App::GetVersion(CFX_WideString& wsVersion) {
wsVersion = JS_STR_VIEWERVERSION_XFA;
}
+void CPDFXFA_App::GetFoxitVersion(CFX_WideString& wsFoxitVersion) {
+ wsFoxitVersion = L"7.0";
+}
+
void CPDFXFA_App::Beep(uint32_t dwType) {
CPDFDoc_Environment* pEnv = m_pEnvList.GetAt(0);
if (pEnv) {
diff --git a/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp b/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp
index c8aca0d5b0..42dad4557e 100644
--- a/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp
+++ b/fpdfsdk/fpdfxfa/fpdfxfa_doc.cpp
@@ -17,11 +17,13 @@
#include "fpdfsdk/include/fsdk_mgr.h"
#include "fpdfsdk/javascript/ijs_runtime.h"
#include "public/fpdf_formfill.h"
+#include "xfa/fxfa/include/cxfa_eventparam.h"
#include "xfa/fxfa/include/xfa_ffapp.h"
#include "xfa/fxfa/include/xfa_ffdoc.h"
#include "xfa/fxfa/include/xfa_ffdocview.h"
#include "xfa/fxfa/include/xfa_ffpageview.h"
#include "xfa/fxfa/include/xfa_ffwidget.h"
+#include "xfa/fxfa/include/xfa_ffwidgethandler.h"
#define IDS_XFA_Validate_Input \
"At least one required field was empty. Please fill in the required " \
@@ -238,12 +240,6 @@ void CPDFXFA_Document::SetChangeMark(CXFA_FFDoc* hDoc) {
}
}
-FX_BOOL CPDFXFA_Document::GetChangeMark(CXFA_FFDoc* hDoc) {
- if (hDoc == m_pXFADoc && m_pSDKDoc)
- return m_pSDKDoc->GetChangeMark();
- return FALSE;
-}
-
void CPDFXFA_Document::InvalidateRect(CXFA_FFPageView* pPageView,
const CFX_RectF& rt,
uint32_t dwFlags /* = 0 */) {
@@ -268,30 +264,6 @@ void CPDFXFA_Document::InvalidateRect(CXFA_FFPageView* pPageView,
rcPage.right, rcPage.top);
}
-void CPDFXFA_Document::InvalidateRect(CXFA_FFWidget* hWidget,
- uint32_t dwFlags /* = 0 */) {
- if (!hWidget)
- return;
-
- if (!m_pXFADoc || !m_pSDKDoc || !m_pXFADocView)
- return;
-
- if (m_iDocType != DOCTYPE_DYNAMIC_XFA)
- return;
-
- CXFA_FFWidgetHandler* pWidgetHandler = m_pXFADocView->GetWidgetHandler();
- if (!pWidgetHandler)
- return;
-
- CXFA_FFPageView* pPageView = hWidget->GetPageView();
- if (!pPageView)
- return;
-
- CFX_RectF rect;
- hWidget->GetRect(rect);
- InvalidateRect(pPageView, rect, dwFlags);
-}
-
void CPDFXFA_Document::DisplayCaret(CXFA_FFWidget* hWidget,
FX_BOOL bVisible,
const CFX_RectF* pRtAnchor) {
@@ -552,6 +524,13 @@ void CPDFXFA_Document::WidgetPreRemove(CXFA_FFWidget* hWidget,
pSdkPageView->DeleteAnnot(pAnnot);
}
+FX_BOOL CPDFXFA_Document::RenderCustomWidget(CXFA_FFWidget* hWidget,
+ CFX_Graphics* pGS,
+ CFX_Matrix* pMatrix,
+ const CFX_RectF& rtUI) {
+ return FALSE;
+}
+
int32_t CPDFXFA_Document::CountPages(CXFA_FFDoc* hDoc) {
if (hDoc == m_pXFADoc && m_pSDKDoc)
return GetPageCount();
@@ -789,6 +768,49 @@ void CPDFXFA_Document::Print(CXFA_FFDoc* hDoc,
dwOptions & XFA_PRINTOPT_PrintAnnot);
}
+int32_t CPDFXFA_Document::AbsPageCountInBatch(CXFA_FFDoc* hDoc) {
+ return 0;
+}
+
+int32_t CPDFXFA_Document::AbsPageInBatch(CXFA_FFDoc* hDoc,
+ CXFA_FFWidget* hWidget) {
+ return 0;
+}
+
+int32_t CPDFXFA_Document::SheetCountInBatch(CXFA_FFDoc* hDoc) {
+ return 0;
+}
+
+int32_t CPDFXFA_Document::SheetInBatch(CXFA_FFDoc* hDoc,
+ CXFA_FFWidget* hWidget) {
+ return 0;
+}
+
+int32_t CPDFXFA_Document::Verify(CXFA_FFDoc* hDoc,
+ CXFA_Node* pSigNode,
+ FX_BOOL bUsed) {
+ return 0;
+}
+
+FX_BOOL CPDFXFA_Document::Sign(CXFA_FFDoc* hDoc,
+ CXFA_NodeList* pNodeList,
+ const CFX_WideStringC& wsExpression,
+ const CFX_WideStringC& wsXMLIdent,
+ const CFX_WideStringC& wsValue,
+ FX_BOOL bUsed) {
+ return 0;
+}
+
+CXFA_NodeList* CPDFXFA_Document::Enumerate(CXFA_FFDoc* hDoc) {
+ return 0;
+}
+
+FX_BOOL CPDFXFA_Document::Clear(CXFA_FFDoc* hDoc,
+ CXFA_Node* pSigNode,
+ FX_BOOL bCleared) {
+ return 0;
+}
+
void CPDFXFA_Document::GetURL(CXFA_FFDoc* hDoc, CFX_WideString& wsDocURL) {
if (hDoc != m_pXFADoc)
return;
@@ -905,6 +927,18 @@ FX_BOOL CPDFXFA_Document::SubmitData(CXFA_FFDoc* hDoc, CXFA_Submit submit) {
return ret;
}
+FX_BOOL CPDFXFA_Document::CheckWord(CXFA_FFDoc* hDoc,
+ const CFX_ByteStringC& sWord) {
+ return FALSE;
+}
+
+FX_BOOL CPDFXFA_Document::GetSuggestWords(
+ CXFA_FFDoc* hDoc,
+ const CFX_ByteStringC& sWord,
+ std::vector<CFX_ByteString>& sSuggest) {
+ return FALSE;
+}
+
IFX_FileRead* CPDFXFA_Document::OpenLinkedFile(CXFA_FFDoc* hDoc,
const CFX_WideString& wsLink) {
CPDFDoc_Environment* pEnv = m_pSDKDoc->GetEnv();
@@ -1242,3 +1276,9 @@ FX_BOOL CPDFXFA_Document::GetGlobalProperty(CXFA_FFDoc* hDoc,
return m_pSDKDoc->GetEnv()->GetJSRuntime()->GetValueByName(szPropName,
pValue);
}
+
+CPDF_Document* CPDFXFA_Document::OpenPDF(CXFA_FFDoc* hDoc,
+ IFX_FileRead* pFile,
+ FX_BOOL bTakeOverFile) {
+ return nullptr;
+}
diff --git a/fpdfsdk/fpdfxfa/fpdfxfa_page.cpp b/fpdfsdk/fpdfxfa/fpdfxfa_page.cpp
index 8dbbf4e07c..8c4301f248 100644
--- a/fpdfsdk/fpdfxfa/fpdfxfa_page.cpp
+++ b/fpdfsdk/fpdfxfa/fpdfxfa_page.cpp
@@ -6,7 +6,6 @@
#include "fpdfsdk/fpdfxfa/include/fpdfxfa_page.h"
-#include "core/fpdfapi/fpdf_page/include/cpdf_page.h"
#include "core/fpdfapi/fpdf_parser/include/cpdf_document.h"
#include "fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h"
#include "fpdfsdk/fpdfxfa/include/fpdfxfa_util.h"
diff --git a/fpdfsdk/fpdfxfa/include/fpdfxfa_app.h b/fpdfsdk/fpdfxfa/include/fpdfxfa_app.h
index f24c700434..993d4b4254 100644
--- a/fpdfsdk/fpdfxfa/include/fpdfxfa_app.h
+++ b/fpdfsdk/fpdfxfa/include/fpdfxfa_app.h
@@ -36,19 +36,17 @@ class CPDFXFA_App : public IXFA_AppProvider {
// IFXA_AppProvider:
void GetAppType(CFX_WideString& wsAppType) override;
void SetAppType(const CFX_WideStringC& wsAppType) override;
+ void SetFoxitAppType(const CFX_WideStringC& wsFoxitAppType) override;
+ void GetFoxitAppType(CFX_WideString& wsFoxitAppType) override;
void GetLanguage(CFX_WideString& wsLanguage) override;
void GetPlatform(CFX_WideString& wsPlatform) override;
void GetVariation(CFX_WideString& wsVariation) override;
void GetVersion(CFX_WideString& wsVersion) override;
- void GetFoxitVersion(CFX_WideString& wsFoxitVersion) override {
- wsFoxitVersion = L"7.0";
- }
+ void GetFoxitVersion(CFX_WideString& wsFoxitVersion) override;
void GetAppName(CFX_WideString& wsName) override;
- void GetFoxitAppName(CFX_WideString& wsFoxitName) override {
- wsFoxitName = L"Foxit";
- }
+ void GetFoxitAppName(CFX_WideString& wsFoxitName) override;
void Beep(uint32_t dwType) override;
int32_t MsgBox(const CFX_WideString& wsMessage,
diff --git a/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h b/fpdfsdk/fpdfxfa/include/fpdfxfa_doc.h
index 90ef6f36b3..21a5b13cfa 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();
diff --git a/fpdfsdk/fpdfxfa/include/fpdfxfa_page.h b/fpdfsdk/fpdfxfa/include/fpdfxfa_page.h
index 2e08f580ed..7b60c669cc 100644
--- a/fpdfsdk/fpdfxfa/include/fpdfxfa_page.h
+++ b/fpdfsdk/fpdfxfa/include/fpdfxfa_page.h
@@ -9,12 +9,11 @@
#include <memory>
-#include "core/fpdfapi/fpdf_parser/include/cpdf_dictionary.h"
-#include "core/fpdfapi/include/cpdf_modulemgr.h"
-#include "core/fxcrt/include/fx_coordinates.h"
#include "core/fxcrt/include/fx_system.h"
+class CFX_Matrix;
class CPDFXFA_Document;
+class CPDF_Dictionary;
class CPDF_Page;
class CXFA_FFPageView;