Index: fpdfsdk/include/fsdk_annothandler.h |
diff --git a/fpdfsdk/include/fsdk_annothandler.h b/fpdfsdk/include/fsdk_annothandler.h |
index b36fe372b2653dac9f64c60faec70808c9d12ebb..179843da8a6f9557e0d4e3b3522812416668f4e5 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); |