summaryrefslogtreecommitdiff
path: root/fpdfsdk/include
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/include')
-rw-r--r--fpdfsdk/include/fsdk_actionhandler.h1
-rw-r--r--fpdfsdk/include/fsdk_annothandler.h227
-rw-r--r--fpdfsdk/include/fsdk_baseannot.h41
-rw-r--r--fpdfsdk/include/fsdk_baseform.h24
-rw-r--r--fpdfsdk/include/fsdk_define.h8
5 files changed, 120 insertions, 181 deletions
diff --git a/fpdfsdk/include/fsdk_actionhandler.h b/fpdfsdk/include/fsdk_actionhandler.h
index bf2ebd3eba..45ff5571a5 100644
--- a/fpdfsdk/include/fsdk_actionhandler.h
+++ b/fpdfsdk/include/fsdk_actionhandler.h
@@ -33,6 +33,7 @@ class CPDFSDK_FormActionHandler {
class CPDFSDK_ActionHandler {
public:
CPDFSDK_ActionHandler();
+ ~CPDFSDK_ActionHandler();
FX_BOOL DoAction_DocOpen(const CPDF_Action& action,
CPDFSDK_Document* pDocument);
diff --git a/fpdfsdk/include/fsdk_annothandler.h b/fpdfsdk/include/fsdk_annothandler.h
index b36fe372b2..179843da8a 100644
--- a/fpdfsdk/include/fsdk_annothandler.h
+++ b/fpdfsdk/include/fsdk_annothandler.h
@@ -14,11 +14,6 @@
#include "core/fxcrt/include/fx_coordinates.h"
#ifdef PDF_ENABLE_XFA
-#include "xfa/fxfa/include/fxfa.h"
-#include "xfa/fxfa/include/xfa_ffdocview.h"
-#include "xfa/fxfa/include/xfa_ffpageview.h"
-#include "xfa/fxfa/include/xfa_ffwidgethandler.h"
-
#define FSDK_XFAWIDGET_TYPENAME "XFAWidget"
#endif // PDF_ENABLE_XFA
@@ -30,17 +25,18 @@ class CPDFSDK_PageView;
class CPDF_Annot;
class CFX_Matrix;
class CFX_FloatPoint;
+#ifdef PDF_ENABLE_XFA
+class CXFA_FFWidget;
+class CXFA_FFWidgetHandler;
+#endif // PDF_ENABLE_XFA
class IPDFSDK_AnnotHandler {
public:
virtual ~IPDFSDK_AnnotHandler() {}
virtual CFX_ByteString GetType() = 0;
-
virtual CFX_ByteString GetName() = 0;
-
virtual FX_BOOL CanAnswer(CPDFSDK_Annot* pAnnot) = 0;
-
virtual CPDFSDK_Annot* NewAnnot(CPDF_Annot* pAnnot,
CPDFSDK_PageView* pPage) = 0;
@@ -50,22 +46,17 @@ class IPDFSDK_AnnotHandler {
#endif // PDF_ENABLE_XFA
virtual void ReleaseAnnot(CPDFSDK_Annot* pAnnot) = 0;
-
virtual void DeleteAnnot(CPDFSDK_Annot* pAnnot) = 0;
-
virtual CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot) = 0;
-
virtual FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
const CFX_FloatPoint& point) = 0;
-
virtual void OnDraw(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
CFX_Matrix* pUser2Device,
uint32_t dwFlags) = 0;
-
virtual void OnDrawSleep(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
CFX_RenderDevice* pDevice,
@@ -74,20 +65,15 @@ class IPDFSDK_AnnotHandler {
uint32_t dwFlags) = 0;
virtual void OnCreate(CPDFSDK_Annot* pAnnot) = 0;
-
virtual void OnLoad(CPDFSDK_Annot* pAnnot) = 0;
-
virtual void OnDelete(CPDFSDK_Annot* pAnnot) = 0;
-
virtual void OnRelease(CPDFSDK_Annot* pAnnot) = 0;
-
virtual void OnMouseEnter(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
uint32_t nFlag) = 0;
virtual void OnMouseExit(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
uint32_t nFlag) = 0;
-
virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
uint32_t nFlags,
@@ -121,16 +107,13 @@ class IPDFSDK_AnnotHandler {
CPDFSDK_Annot* pAnnot,
uint32_t nFlags,
const CFX_FloatPoint& point) = 0;
- // by wjm.
virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
uint32_t nChar,
uint32_t nFlags) = 0;
virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag) = 0;
virtual FX_BOOL OnKeyUp(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag) = 0;
-
virtual void OnDeSelected(CPDFSDK_Annot* pAnnot) = 0;
virtual void OnSelected(CPDFSDK_Annot* pAnnot) = 0;
-
virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag) = 0;
virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag) = 0;
#ifdef PDF_ENABLE_XFA
@@ -141,13 +124,12 @@ class IPDFSDK_AnnotHandler {
class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
public:
- explicit CPDFSDK_BFAnnotHandler(CPDFDoc_Environment* pApp)
- : m_pApp(pApp), m_pFormFiller(nullptr) {}
- ~CPDFSDK_BFAnnotHandler() override {}
+ explicit CPDFSDK_BFAnnotHandler(CPDFDoc_Environment* pApp);
+ ~CPDFSDK_BFAnnotHandler() override;
// IPDFSDK_AnnotHandler
- CFX_ByteString GetType() override { return CFX_ByteString("Widget"); }
- CFX_ByteString GetName() override { return CFX_ByteString("WidgetHandler"); }
+ CFX_ByteString GetType() override;
+ CFX_ByteString GetName() override;
FX_BOOL CanAnswer(CPDFSDK_Annot* pAnnot) override;
CPDFSDK_Annot* NewAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPage) override;
#ifdef PDF_ENABLE_XFA
@@ -155,7 +137,7 @@ class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
CPDFSDK_PageView* pPage) override;
#endif // PDF_ENABLE_XFA
void ReleaseAnnot(CPDFSDK_Annot* pAnnot) override;
- void DeleteAnnot(CPDFSDK_Annot* pAnnot) override {}
+ void DeleteAnnot(CPDFSDK_Annot* pAnnot) override;
CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot) override;
FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
@@ -171,11 +153,11 @@ class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
CFX_RenderDevice* pDevice,
CFX_Matrix* pUser2Device,
const CFX_FloatRect& rcWindow,
- uint32_t dwFlags) override {}
+ uint32_t dwFlags) override;
void OnCreate(CPDFSDK_Annot* pAnnot) override;
void OnLoad(CPDFSDK_Annot* pAnnot) override;
- void OnDelete(CPDFSDK_Annot* pAnnot) override {}
- void OnRelease(CPDFSDK_Annot* pAnnot) override {}
+ void OnDelete(CPDFSDK_Annot* pAnnot) override;
+ void OnRelease(CPDFSDK_Annot* pAnnot) override;
void OnMouseEnter(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
uint32_t nFlag) override;
@@ -214,9 +196,7 @@ class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
uint32_t nFlags,
- const CFX_FloatPoint& point) override {
- return FALSE;
- }
+ const CFX_FloatPoint& point) override;
FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
uint32_t nChar,
uint32_t nFlags) override;
@@ -228,9 +208,7 @@ class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag) override;
#ifdef PDF_ENABLE_XFA
FX_BOOL OnXFAChangedFocus(CPDFSDK_Annot* pOldAnnot,
- CPDFSDK_Annot* pNewAnnot) override {
- return TRUE;
- }
+ CPDFSDK_Annot* pNewAnnot) override;
#endif // PDF_ENABLE_XFA
void SetFormFiller(CFFL_IFormFiller* pFiller) { m_pFormFiller = pFiller; }
@@ -245,108 +223,87 @@ class CPDFSDK_BFAnnotHandler : public IPDFSDK_AnnotHandler {
class CPDFSDK_XFAAnnotHandler : public IPDFSDK_AnnotHandler {
public:
explicit CPDFSDK_XFAAnnotHandler(CPDFDoc_Environment* pApp);
- ~CPDFSDK_XFAAnnotHandler() {}
+ ~CPDFSDK_XFAAnnotHandler() override;
- public:
- virtual CFX_ByteString GetType() { return FSDK_XFAWIDGET_TYPENAME; }
-
- virtual CFX_ByteString GetName() { return "XFAWidgetHandler"; }
-
- virtual FX_BOOL CanAnswer(CPDFSDK_Annot* pAnnot);
-
- virtual CPDFSDK_Annot* NewAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPage) {
- return nullptr;
- }
-
- virtual CPDFSDK_Annot* NewAnnot(CXFA_FFWidget* pAnnot,
- CPDFSDK_PageView* pPage);
-
- virtual void ReleaseAnnot(CPDFSDK_Annot* pAnnot);
-
- virtual void DeleteAnnot(CPDFSDK_Annot* pAnnot) {}
-
- virtual CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot);
-
- virtual FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
+ // IPDFSDK_AnnotHandler
+ CFX_ByteString GetType() override;
+ CFX_ByteString GetName() override;
+ FX_BOOL CanAnswer(CPDFSDK_Annot* pAnnot) override;
+ CPDFSDK_Annot* NewAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPage) override;
+ CPDFSDK_Annot* NewAnnot(CXFA_FFWidget* pAnnot,
+ CPDFSDK_PageView* pPage) override;
+ void ReleaseAnnot(CPDFSDK_Annot* pAnnot) override;
+ void DeleteAnnot(CPDFSDK_Annot* pAnnot) override;
+ CFX_FloatRect GetViewBBox(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot) override;
+ FX_BOOL HitTest(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ const CFX_FloatPoint& point) override;
+ void OnDraw(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ CFX_RenderDevice* pDevice,
+ CFX_Matrix* pUser2Device,
+ uint32_t dwFlags) override;
+ void OnDrawSleep(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ CFX_RenderDevice* pDevice,
+ CFX_Matrix* pUser2Device,
+ const CFX_FloatRect& rcWindow,
+ uint32_t dwFlags) override;
+ void OnCreate(CPDFSDK_Annot* pAnnot) override;
+ void OnLoad(CPDFSDK_Annot* pAnnot) override;
+ void OnDelete(CPDFSDK_Annot* pAnnot) override;
+ void OnRelease(CPDFSDK_Annot* pAnnot) override;
+ void OnMouseEnter(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlag) override;
+ void OnMouseExit(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlag) override;
+ FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
- const CFX_FloatPoint& point);
-
- virtual void OnDraw(CPDFSDK_PageView* pPageView,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
CPDFSDK_Annot* pAnnot,
- CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- uint32_t dwFlags);
-
- virtual void OnDrawSleep(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- CFX_RenderDevice* pDevice,
- CFX_Matrix* pUser2Device,
- const CFX_FloatRect& rcWindow,
- uint32_t dwFlags) {}
-
- virtual void OnCreate(CPDFSDK_Annot* pAnnot) {}
-
- virtual void OnLoad(CPDFSDK_Annot* pAnnot) {}
-
- virtual void OnDelete(CPDFSDK_Annot* pAnnot) {}
-
- virtual void OnRelease(CPDFSDK_Annot* pAnnot) {}
-
- virtual void OnMouseEnter(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlag);
- virtual void OnMouseExit(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlag);
-
- virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- short zDelta,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- virtual FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
- CPDFSDK_Annot* pAnnot,
- uint32_t nFlags,
- const CFX_FloatPoint& point);
- // by wjm.
- virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
- uint32_t nChar,
- uint32_t nFlags);
- virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag);
- virtual FX_BOOL OnKeyUp(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag);
-
- virtual void OnDeSelected(CPDFSDK_Annot* pAnnot) {}
- virtual void OnSelected(CPDFSDK_Annot* pAnnot) {}
-
- virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag);
- virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag);
- virtual FX_BOOL OnXFAChangedFocus(CPDFSDK_Annot* pOldAnnot,
- CPDFSDK_Annot* pNewAnnot);
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ short zDelta,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnRButtonDblClk(CPDFSDK_PageView* pPageView,
+ CPDFSDK_Annot* pAnnot,
+ uint32_t nFlags,
+ const CFX_FloatPoint& point) override;
+ FX_BOOL OnChar(CPDFSDK_Annot* pAnnot,
+ uint32_t nChar,
+ uint32_t nFlags) override;
+ FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag) override;
+ FX_BOOL OnKeyUp(CPDFSDK_Annot* pAnnot, int nKeyCode, int nFlag) override;
+ void OnDeSelected(CPDFSDK_Annot* pAnnot) override;
+ void OnSelected(CPDFSDK_Annot* pAnnot) override;
+ FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag) override;
+ FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, uint32_t nFlag) override;
+ FX_BOOL OnXFAChangedFocus(CPDFSDK_Annot* pOldAnnot,
+ CPDFSDK_Annot* pNewAnnot) override;
private:
CXFA_FFWidgetHandler* GetXFAWidgetHandler(CPDFSDK_Annot* pAnnot);
diff --git a/fpdfsdk/include/fsdk_baseannot.h b/fpdfsdk/include/fsdk_baseannot.h
index 752d91a903..95d49ae272 100644
--- a/fpdfsdk/include/fsdk_baseannot.h
+++ b/fpdfsdk/include/fsdk_baseannot.h
@@ -29,9 +29,9 @@ class CFX_RenderDevice;
class CPDFSDK_DateTime {
public:
CPDFSDK_DateTime();
- CPDFSDK_DateTime(const CFX_ByteString& dtStr);
+ explicit CPDFSDK_DateTime(const CFX_ByteString& dtStr);
+ explicit CPDFSDK_DateTime(const FX_SYSTEMTIME& st);
CPDFSDK_DateTime(const CPDFSDK_DateTime& datetime);
- CPDFSDK_DateTime(const FX_SYSTEMTIME& st);
CPDFSDK_DateTime& operator=(const CPDFSDK_DateTime& datetime);
CPDFSDK_DateTime& operator=(const FX_SYSTEMTIME& st);
@@ -64,32 +64,26 @@ class CPDFSDK_DateTime {
class CPDFSDK_Annot {
public:
explicit CPDFSDK_Annot(CPDFSDK_PageView* pPageView);
- virtual ~CPDFSDK_Annot() {}
+ virtual ~CPDFSDK_Annot();
#ifdef PDF_ENABLE_XFA
- virtual FX_BOOL IsXFAField() { return FALSE; }
+ virtual FX_BOOL IsXFAField();
+ virtual CXFA_FFWidget* GetXFAWidget() const;
#endif // PDF_ENABLE_XFA
virtual FX_FLOAT GetMinWidth() const;
virtual FX_FLOAT GetMinHeight() const;
// define layout order to 5.
- virtual int GetLayoutOrder() const { return 5; }
-
- virtual CPDF_Annot* GetPDFAnnot() const { return nullptr; }
-
-#ifdef PDF_ENABLE_XFA
- virtual CXFA_FFWidget* GetXFAWidget() const { return nullptr; }
-#endif // PDF_ENABLE_XFA
-
- virtual CFX_ByteString GetType() const { return ""; }
- virtual CFX_ByteString GetSubType() const { return ""; }
-
- virtual void SetRect(const CFX_FloatRect& rect) {}
- virtual CFX_FloatRect GetRect() const { return CFX_FloatRect(); }
+ virtual int GetLayoutOrder() const;
+ virtual CPDF_Annot* GetPDFAnnot() const;
+ virtual CFX_ByteString GetType() const;
+ virtual CFX_ByteString GetSubType() const;
+ virtual CFX_FloatRect GetRect() const;
+ virtual void SetRect(const CFX_FloatRect& rect);
virtual void Annot_OnDraw(CFX_RenderDevice* pDevice,
CFX_Matrix* pUser2Device,
- CPDF_RenderOptions* pOptions) {}
+ CPDF_RenderOptions* pOptions);
UnderlyingPageType* GetUnderlyingPage();
CPDF_Page* GetPDFPage();
@@ -97,7 +91,7 @@ class CPDFSDK_Annot {
CPDFXFA_Page* GetPDFXFAPage();
#endif // PDF_ENABLE_XFA
- void SetPage(CPDFSDK_PageView* pPageView) { m_pPageView = pPageView; }
+ void SetPage(CPDFSDK_PageView* pPageView);
CPDFSDK_PageView* GetPageView() const { return m_pPageView; }
// Tab Order
@@ -117,12 +111,9 @@ class CPDFSDK_Annot {
class CPDFSDK_BAAnnot : public CPDFSDK_Annot {
public:
CPDFSDK_BAAnnot(CPDF_Annot* pAnnot, CPDFSDK_PageView* pPageView);
- ~CPDFSDK_BAAnnot() override {}
-
-#ifdef PDF_ENABLE_XFA
- FX_BOOL IsXFAField() override;
-#endif // PDF_ENABLE_XFA
+ ~CPDFSDK_BAAnnot() override;
+ // CPDFSDK_Annot
CFX_ByteString GetType() const override;
CFX_ByteString GetSubType() const override;
void SetRect(const CFX_FloatRect& rect) override;
@@ -173,13 +164,13 @@ class CPDFSDK_BAAnnot : public CPDFSDK_Annot {
void RemoveAAction();
virtual CPDF_Action GetAAction(CPDF_AAction::AActionType eAAT);
-
virtual FX_BOOL IsAppearanceValid();
virtual FX_BOOL IsAppearanceValid(CPDF_Annot::AppearanceMode mode);
virtual void DrawAppearance(CFX_RenderDevice* pDevice,
const CFX_Matrix* pUser2Device,
CPDF_Annot::AppearanceMode mode,
const CPDF_RenderOptions* pOptions);
+
void DrawBorder(CFX_RenderDevice* pDevice,
const CFX_Matrix* pUser2Device,
const CPDF_RenderOptions* pOptions);
diff --git a/fpdfsdk/include/fsdk_baseform.h b/fpdfsdk/include/fsdk_baseform.h
index c7a7e742d3..f6df689984 100644
--- a/fpdfsdk/include/fsdk_baseform.h
+++ b/fpdfsdk/include/fsdk_baseform.h
@@ -15,10 +15,6 @@
#include "core/fxge/include/fx_dib.h"
#include "fpdfsdk/include/fsdk_baseannot.h"
-#ifdef PDF_ENABLE_XFA
-#include "xfa/fxfa/include/xfa_ffwidgethandler.h"
-#endif // PDF_ENABLE_XFA
-
#if _FX_OS_ == _FX_ANDROID_
#include "time.h"
#else
@@ -34,6 +30,8 @@ class CPDF_FormField;
struct CPWL_Color;
#ifdef PDF_ENABLE_XFA
+class CXFA_FFWidgetHandler;
+
typedef enum _PDFSDK_XFAAActionType {
PDFSDK_XFA_Click = 0,
PDFSDK_XFA_Full,
@@ -43,16 +41,8 @@ typedef enum _PDFSDK_XFAAActionType {
#endif // PDF_ENABLE_XFA
struct PDFSDK_FieldAction {
- PDFSDK_FieldAction() {
- bModifier = FALSE;
- bShift = FALSE;
- nCommitKey = 0;
- bKeyDown = FALSE;
- nSelEnd = nSelStart = 0;
- bWillCommit = FALSE;
- bFieldFull = FALSE;
- bRC = TRUE;
- }
+ PDFSDK_FieldAction();
+ PDFSDK_FieldAction(const PDFSDK_FieldAction& other) = delete;
FX_BOOL bModifier; // in
FX_BOOL bShift; // in
@@ -104,7 +94,7 @@ class CPDFSDK_Widget : public CPDFSDK_BAAnnot {
CPDF_Action GetAAction(CPDF_AAction::AActionType eAAT) override;
FX_BOOL IsAppearanceValid() override;
- int GetLayoutOrder() const override { return 2; }
+ int GetLayoutOrder() const override;
int GetFieldType() const;
@@ -232,9 +222,9 @@ class CPDFSDK_XFAWidget : public CPDFSDK_Annot {
~CPDFSDK_XFAWidget() override {}
FX_BOOL IsXFAField() override;
- CXFA_FFWidget* GetXFAWidget() const override { return m_hXFAWidget; }
+ CXFA_FFWidget* GetXFAWidget() const override;
CFX_ByteString GetType() const override;
- CFX_ByteString GetSubType() const override { return ""; }
+ CFX_ByteString GetSubType() const override;
CFX_FloatRect GetRect() const override;
CPDFSDK_InterForm* GetInterForm() { return m_pInterForm; }
diff --git a/fpdfsdk/include/fsdk_define.h b/fpdfsdk/include/fsdk_define.h
index 4a470206d3..89c3e739a7 100644
--- a/fpdfsdk/include/fsdk_define.h
+++ b/fpdfsdk/include/fsdk_define.h
@@ -40,12 +40,12 @@ class CPDF_CustomAccess final : public IFX_FileRead {
~CPDF_CustomAccess() override {}
// IFX_FileRead
- FX_FILESIZE GetSize() override { return m_FileAccess.m_FileLen; }
- void Release() override { delete this; }
+ FX_FILESIZE GetSize() override;
+ void Release() override;
FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
#ifdef PDF_ENABLE_XFA
- virtual CFX_ByteString GetFullPath() { return ""; }
+ virtual CFX_ByteString GetFullPath();
virtual FX_BOOL GetByte(uint32_t pos, uint8_t& ch);
virtual FX_BOOL GetBlock(uint32_t pos, uint8_t* pBuf, uint32_t size);
#endif // PDF_ENABLE_XFA
@@ -69,7 +69,7 @@ class CFPDF_FileStream : public IFX_FileStream {
void Release() override;
FX_FILESIZE GetSize() override;
FX_BOOL IsEOF() override;
- FX_FILESIZE GetPosition() override { return m_nCurPos; }
+ FX_FILESIZE GetPosition() override;
FX_BOOL ReadBlock(void* buffer, FX_FILESIZE offset, size_t size) override;
size_t ReadBlock(void* buffer, size_t size) override;
FX_BOOL WriteBlock(const void* buffer,