OLD | NEW |
1 // Copyright 2014 PDFium Authors. All rights reserved. | 1 // Copyright 2014 PDFium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com | 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
6 | 6 |
7 #ifndef FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ | 7 #ifndef FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ |
8 #define FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ | 8 #define FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ |
9 | 9 |
10 #include <map> | 10 #include <map> |
11 | 11 |
12 #include "FormFiller.h" | 12 #include "FormFiller.h" |
13 | 13 |
14 class CFFL_FormFiller; | 14 class CFFL_FormFiller; |
15 class CFFL_PrivateData; | 15 class CFFL_PrivateData; |
16 | 16 |
17 class CFFL_IFormFiller : public IPWL_Filler_Notify | 17 class CFFL_IFormFiller : public IPWL_Filler_Notify { |
18 { | 18 public: |
19 public: | 19 CFFL_IFormFiller(CPDFDoc_Environment* pApp); |
20 » CFFL_IFormFiller(CPDFDoc_Environment* pApp); | 20 virtual ~CFFL_IFormFiller(); |
21 » virtual ~CFFL_IFormFiller(); | |
22 | 21 |
23 » virtual FX_BOOL»» » » Annot_HitTest(CPDFSDK_PageView*
pPageView,CPDFSDK_Annot* pAnnot, CPDF_Point point); | 22 virtual FX_BOOL Annot_HitTest(CPDFSDK_PageView* pPageView, |
24 » virtual FX_RECT»» » » GetViewBBox(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot); | 23 CPDFSDK_Annot* pAnnot, |
25 » virtual void» » » » OnDraw(CPDFSDK_PageView *pPageVi
ew, /*HDC hDC,*/ CPDFSDK_Annot* pAnnot, | 24 CPDF_Point point); |
26 » » » » » » » » » CFX_Rend
erDevice* pDevice, CPDF_Matrix* pUser2Device, | 25 virtual FX_RECT GetViewBBox(CPDFSDK_PageView* pPageView, |
27 » » » » » » » » » /*const
CRect& rcWindow,*/ FX_DWORD dwFlags); | 26 CPDFSDK_Annot* pAnnot); |
| 27 virtual void OnDraw(CPDFSDK_PageView* pPageView, |
| 28 /*HDC hDC,*/ CPDFSDK_Annot* pAnnot, |
| 29 CFX_RenderDevice* pDevice, |
| 30 CPDF_Matrix* pUser2Device, |
| 31 /*const CRect& rcWindow,*/ FX_DWORD dwFlags); |
28 | 32 |
| 33 virtual void OnCreate(CPDFSDK_Annot* pAnnot); |
| 34 virtual void OnLoad(CPDFSDK_Annot* pAnnot); |
| 35 virtual void OnDelete(CPDFSDK_Annot* pAnnot); |
29 | 36 |
30 » virtual void» » » » OnCreate(CPDFSDK_Annot* pAnnot); | 37 virtual void OnMouseEnter(CPDFSDK_PageView* pPageView, |
31 » virtual void» » » » OnLoad(CPDFSDK_Annot* pAnnot); | 38 CPDFSDK_Annot* pAnnot, |
32 » virtual void» » » » OnDelete(CPDFSDK_Annot* pAnnot); | 39 FX_UINT nFlag); |
| 40 virtual void OnMouseExit(CPDFSDK_PageView* pPageView, |
| 41 CPDFSDK_Annot* pAnnot, |
| 42 FX_UINT nFlag); |
33 | 43 |
34 » virtual void» » » » OnMouseEnter(CPDFSDK_PageView *p
PageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlag); | 44 virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView, |
35 » virtual void» » » » OnMouseExit(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlag); | 45 CPDFSDK_Annot* pAnnot, |
| 46 FX_UINT nFlags, |
| 47 const CPDF_Point& point); |
| 48 virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView, |
| 49 CPDFSDK_Annot* pAnnot, |
| 50 FX_UINT nFlags, |
| 51 const CPDF_Point& point); |
| 52 virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView, |
| 53 CPDFSDK_Annot* pAnnot, |
| 54 FX_UINT nFlags, |
| 55 const CPDF_Point& point); |
| 56 virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView, |
| 57 CPDFSDK_Annot* pAnnot, |
| 58 FX_UINT nFlags, |
| 59 const CPDF_Point& point); |
| 60 virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView, |
| 61 CPDFSDK_Annot* pAnnot, |
| 62 FX_UINT nFlags, |
| 63 short zDelta, |
| 64 const CPDF_Point& point); |
| 65 virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView, |
| 66 CPDFSDK_Annot* pAnnot, |
| 67 FX_UINT nFlags, |
| 68 const CPDF_Point& point); |
| 69 virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView, |
| 70 CPDFSDK_Annot* pAnnot, |
| 71 FX_UINT nFlags, |
| 72 const CPDF_Point& point); |
36 | 73 |
37 » virtual FX_BOOL»» » » OnLButtonDown(CPDFSDK_PageView *
pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 74 virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot, |
38 » virtual FX_BOOL»» » » OnLButtonUp(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 75 FX_UINT nKeyCode, |
39 » virtual FX_BOOL»» » » OnLButtonDblClk(CPDFSDK_PageView
*pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 76 FX_UINT nFlags); |
40 » virtual FX_BOOL»» » » OnMouseMove(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 77 virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags); |
41 » virtual FX_BOOL»» » » OnMouseWheel(CPDFSDK_PageView *p
PageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, short zDelta, const CPDF_Point&
point); | |
42 » virtual FX_BOOL»» » » OnRButtonDown(CPDFSDK_PageView *
pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | |
43 » virtual FX_BOOL»» » » OnRButtonUp(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | |
44 | 78 |
45 » virtual FX_BOOL»» » » OnKeyDown(CPDFSDK_Annot* pAnnot,
FX_UINT nKeyCode, FX_UINT nFlags); | 79 virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag); |
46 » virtual FX_BOOL»» » » OnChar(CPDFSDK_Annot* pAnnot, FX
_UINT nChar, FX_UINT nFlags); | 80 virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag); |
47 | 81 |
48 » virtual FX_BOOL»» » » OnSetFocus(CPDFSDK_Annot* pAnnot
,FX_UINT nFlag); | 82 virtual void QueryWherePopup(void* pPrivateData, |
49 » virtual FX_BOOL»» » » OnKillFocus(CPDFSDK_Annot* pAnno
t, FX_UINT nFlag); | 83 FX_FLOAT fPopupMin, |
| 84 FX_FLOAT fPopupMax, |
| 85 int32_t& nRet, |
| 86 FX_FLOAT& fPopupRet); |
| 87 virtual void OnBeforeKeyStroke(FX_BOOL bEditOrList, |
| 88 void* pPrivateData, |
| 89 int32_t nKeyCode, |
| 90 CFX_WideString& strChange, |
| 91 const CFX_WideString& strChangeEx, |
| 92 int nSelStart, |
| 93 int nSelEnd, |
| 94 FX_BOOL bKeyDown, |
| 95 FX_BOOL& bRC, |
| 96 FX_BOOL& bExit, |
| 97 FX_DWORD nFlag); |
| 98 virtual void OnAfterKeyStroke(FX_BOOL bEditOrList, |
| 99 void* pPrivateData, |
| 100 FX_BOOL& bExit, |
| 101 FX_DWORD nFlag); |
50 | 102 |
51 » virtual void» » » » QueryWherePopup(void* pPrivateDa
ta, FX_FLOAT fPopupMin,FX_FLOAT fPopupMax, int32_t & nRet, FX_FLOAT & fPopupRet)
; | 103 CFFL_FormFiller* GetFormFiller(CPDFSDK_Annot* pAnnot, FX_BOOL bRegister); |
52 » virtual void» » » » OnBeforeKeyStroke(FX_BOOL bEditO
rList, void* pPrivateData, int32_t nKeyCode, | 104 void RemoveFormFiller(CPDFSDK_Annot* pAnnot); |
53 » » » » » » » » » »
CFX_WideString & strChange, const CFX_WideString& strChangeEx, | |
54 » » » » » » » » » »
int nSelStart, int nSelEnd, | |
55 » » » » » » » » » »
FX_BOOL bKeyDown, FX_BOOL & bRC, FX_BOOL & bExit, FX_DWORD nFlag); | |
56 » virtual void» » » » OnAfterKeyStroke(FX_BOOL bEditOr
List, void* pPrivateData, FX_BOOL & bExit, FX_DWORD nFlag) ; | |
57 | 105 |
58 » CFFL_FormFiller*» » » GetFormFiller(CPDFSDK_Annot* pAn
not, FX_BOOL bRegister); | 106 static FX_BOOL IsVisible(CPDFSDK_Widget* pWidget); |
59 » void» » » » » » RemoveFormFiller(CPDFSDK
_Annot* pAnnot); | 107 static FX_BOOL IsReadOnly(CPDFSDK_Widget* pWidget); |
| 108 static FX_BOOL IsFillingAllowed(CPDFSDK_Widget* pWidget); |
| 109 static FX_BOOL IsValidAnnot(CPDFSDK_PageView* pPageView, |
| 110 CPDFSDK_Annot* pAnnot); |
60 | 111 |
61 » static FX_BOOL» » » » IsVisible(CPDFSDK_Widget* pWidge
t); | 112 void OnKeyStrokeCommit(CPDFSDK_Widget* pWidget, |
62 » static FX_BOOL» » » » IsReadOnly(CPDFSDK_Widget* pWidg
et); | 113 CPDFSDK_PageView* pPageView, |
63 » static FX_BOOL» » » » IsFillingAllowed(CPDFSDK_Widget*
pWidget); | 114 FX_BOOL& bRC, |
64 » static FX_BOOL» » » » IsValidAnnot(CPDFSDK_PageView* p
PageView, CPDFSDK_Annot* pAnnot); | 115 FX_BOOL& bExit, |
| 116 FX_DWORD nFlag); |
| 117 void OnValidate(CPDFSDK_Widget* pWidget, |
| 118 CPDFSDK_PageView* pPageView, |
| 119 FX_BOOL& bRC, |
| 120 FX_BOOL& bExit, |
| 121 FX_DWORD nFlag); |
65 | 122 |
66 » void» » » » » » OnKeyStrokeCommit(CPDFSD
K_Widget* pWidget, CPDFSDK_PageView* pPageView, FX_BOOL& bRC, FX_BOOL& bExit, FX
_DWORD nFlag); | 123 void OnCalculate(CPDFSDK_Widget* pWidget, |
67 » void» » » » » » OnValidate(CPDFSDK_Widge
t* pWidget, CPDFSDK_PageView* pPageView, FX_BOOL& bRC, FX_BOOL& bExit, FX_DWORD
nFlag); | 124 CPDFSDK_PageView* pPageView, |
| 125 FX_BOOL& bExit, |
| 126 FX_DWORD nFlag); |
| 127 void OnFormat(CPDFSDK_Widget* pWidget, |
| 128 CPDFSDK_PageView* pPageView, |
| 129 FX_BOOL& bExit, |
| 130 FX_DWORD nFlag); |
| 131 void OnButtonUp(CPDFSDK_Widget* pWidget, |
| 132 CPDFSDK_PageView* pPageView, |
| 133 FX_BOOL& bReset, |
| 134 FX_BOOL& bExit, |
| 135 FX_UINT nFlag); |
68 | 136 |
69 » void» » » » » » OnCalculate(CPDFSDK_Widg
et* pWidget, CPDFSDK_PageView* pPageView, FX_BOOL& bExit, FX_DWORD nFlag); | 137 private: |
70 » void» » » » » » OnFormat(CPDFSDK_Widget*
pWidget, CPDFSDK_PageView* pPageView, FX_BOOL& bExit, FX_DWORD nFlag); | 138 using CFFL_Widget2Filler = std::map<CPDFSDK_Annot*, CFFL_FormFiller*>; |
71 » void» » » » » » OnButtonUp(CPDFSDK_Widge
t* pWidget, CPDFSDK_PageView* pPageView, FX_BOOL& bReset, FX_BOOL& bExit,FX_UINT
nFlag); | |
72 | 139 |
73 private: | 140 void UnRegisterFormFiller(CPDFSDK_Annot* pAnnot); |
74 using CFFL_Widget2Filler = std::map<CPDFSDK_Annot*, CFFL_FormFiller*>; | |
75 | 141 |
76 void UnRegisterFormFiller(CPDFSDK_Annot* pAnnot); | 142 CPDFDoc_Environment* m_pApp; |
77 | 143 CFFL_Widget2Filler m_Maps; |
78 CPDFDoc_Environment* m_pApp; | 144 FX_BOOL m_bNotifying; |
79 CFFL_Widget2Filler m_Maps; | |
80 FX_BOOL m_bNotifying; | |
81 }; | 145 }; |
82 | 146 |
83 class CFFL_PrivateData | 147 class CFFL_PrivateData { |
84 { | 148 public: |
85 public: | 149 CPDFSDK_Widget* pWidget; |
86 » CPDFSDK_Widget*»» » pWidget; | 150 CPDFSDK_PageView* pPageView; |
87 » CPDFSDK_PageView*» pPageView; | 151 int nWidgetAge; |
88 » int» » » » » nWidgetAge; | 152 int nValueAge; |
89 » int» » » » » nValueAge; | |
90 }; | 153 }; |
91 | 154 |
92 #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ | 155 #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_IFORMFILLER_H_ |
93 | |
OLD | NEW |