summaryrefslogtreecommitdiff
path: root/fpdfsdk/include/fsdk_annothandler.h
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/include/fsdk_annothandler.h')
-rw-r--r--fpdfsdk/include/fsdk_annothandler.h227
1 files changed, 92 insertions, 135 deletions
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);