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_FORMFILLER_H_ | 7 #ifndef FPDFSDK_INCLUDE_FORMFILLER_FFL_FORMFILLER_H_ |
8 #define FPDFSDK_INCLUDE_FORMFILLER_FFL_FORMFILLER_H_ | 8 #define FPDFSDK_INCLUDE_FORMFILLER_FFL_FORMFILLER_H_ |
9 | 9 |
10 #include "FFL_IFormFiller.h" | 10 #include "FFL_IFormFiller.h" |
11 #include "FFL_CBA_Fontmap.h" | 11 #include "FFL_CBA_Fontmap.h" |
12 | 12 |
13 class CPDFSDK_Annot; | 13 class CPDFSDK_Annot; |
14 class CFFL_FormFiller; | 14 class CFFL_FormFiller; |
15 class CFFL_Notify; | 15 class CFFL_Notify; |
16 class CPDFDoc_Environment; | 16 class CPDFDoc_Environment; |
17 class CPDFSDK_PageView; | 17 class CPDFSDK_PageView; |
18 class CPDFSDK_Document; | 18 class CPDFSDK_Document; |
19 class CPDFSDK_Widget; | 19 class CPDFSDK_Widget; |
20 | 20 |
21 class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler | 21 class CFFL_FormFiller : public IPWL_Provider, public CPWL_TimerHandler { |
22 { | 22 public: |
23 public: | 23 CFFL_FormFiller(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot); |
24 » CFFL_FormFiller(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pAnnot); | 24 virtual ~CFFL_FormFiller(); |
25 » virtual ~CFFL_FormFiller(); | |
26 | 25 |
27 » virtual FX_RECT»» » » GetViewBBox(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot); | 26 virtual FX_RECT GetViewBBox(CPDFSDK_PageView* pPageView, |
28 » virtual void» » » » OnDraw(CPDFSDK_PageView *pPageVi
ew, CPDFSDK_Annot* pAnnot, | 27 CPDFSDK_Annot* pAnnot); |
29 » » » » » » » » » CFX_Rend
erDevice* pDevice, CPDF_Matrix* pUser2Device, | 28 virtual void OnDraw(CPDFSDK_PageView* pPageView, |
30 » » » » » » » » » FX_DWORD
dwFlags); | 29 CPDFSDK_Annot* pAnnot, |
31 » virtual void» » » » OnDrawDeactive(CPDFSDK_PageView
*pPageView, CPDFSDK_Annot* pAnnot, | 30 CFX_RenderDevice* pDevice, |
32 » » » » » » » » » CFX_Rend
erDevice* pDevice, CPDF_Matrix* pUser2Device, | 31 CPDF_Matrix* pUser2Device, |
33 » » » » » » » » » FX_DWORD
dwFlags); | 32 FX_DWORD dwFlags); |
| 33 virtual void OnDrawDeactive(CPDFSDK_PageView* pPageView, |
| 34 CPDFSDK_Annot* pAnnot, |
| 35 CFX_RenderDevice* pDevice, |
| 36 CPDF_Matrix* pUser2Device, |
| 37 FX_DWORD dwFlags); |
34 | 38 |
35 » virtual void» » » » OnCreate(CPDFSDK_Annot* pAnnot); | 39 virtual void OnCreate(CPDFSDK_Annot* pAnnot); |
36 » virtual void» » » » OnLoad(CPDFSDK_Annot* pAnnot); | 40 virtual void OnLoad(CPDFSDK_Annot* pAnnot); |
37 » virtual void» » » » OnDelete(CPDFSDK_Annot* pAnnot); | 41 virtual void OnDelete(CPDFSDK_Annot* pAnnot); |
38 | 42 |
39 » virtual void» » » » OnMouseEnter(CPDFSDK_PageView *p
PageView, CPDFSDK_Annot* pAnnot); | 43 virtual void OnMouseEnter(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot); |
40 » virtual void» » » » OnMouseExit(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot); | 44 virtual void OnMouseExit(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot); |
41 | 45 |
42 » virtual FX_BOOL»» » » OnLButtonDown(CPDFSDK_PageView *
pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 46 virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView, |
43 » virtual FX_BOOL»» » » OnLButtonUp(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 47 CPDFSDK_Annot* pAnnot, |
44 » virtual FX_BOOL»» » » OnLButtonDblClk(CPDFSDK_PageView
*pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 48 FX_UINT nFlags, |
45 » virtual FX_BOOL»» » » OnMouseMove(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 49 const CPDF_Point& point); |
46 » virtual FX_BOOL»» » » OnMouseWheel(CPDFSDK_PageView *p
PageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, short zDelta, const CPDF_Point&
point); | 50 virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView, |
47 » virtual FX_BOOL»» » » OnRButtonDown(CPDFSDK_PageView *
pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 51 CPDFSDK_Annot* pAnnot, |
48 » virtual FX_BOOL»» » » OnRButtonUp(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 52 FX_UINT nFlags, |
| 53 const CPDF_Point& point); |
| 54 virtual FX_BOOL OnLButtonDblClk(CPDFSDK_PageView* pPageView, |
| 55 CPDFSDK_Annot* pAnnot, |
| 56 FX_UINT nFlags, |
| 57 const CPDF_Point& point); |
| 58 virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView, |
| 59 CPDFSDK_Annot* pAnnot, |
| 60 FX_UINT nFlags, |
| 61 const CPDF_Point& point); |
| 62 virtual FX_BOOL OnMouseWheel(CPDFSDK_PageView* pPageView, |
| 63 CPDFSDK_Annot* pAnnot, |
| 64 FX_UINT nFlags, |
| 65 short zDelta, |
| 66 const CPDF_Point& point); |
| 67 virtual FX_BOOL OnRButtonDown(CPDFSDK_PageView* pPageView, |
| 68 CPDFSDK_Annot* pAnnot, |
| 69 FX_UINT nFlags, |
| 70 const CPDF_Point& point); |
| 71 virtual FX_BOOL OnRButtonUp(CPDFSDK_PageView* pPageView, |
| 72 CPDFSDK_Annot* pAnnot, |
| 73 FX_UINT nFlags, |
| 74 const CPDF_Point& point); |
49 | 75 |
50 » virtual FX_BOOL»» » » OnKeyDown(CPDFSDK_Annot* pAnnot,
FX_UINT nKeyCode, FX_UINT nFlags); | 76 virtual FX_BOOL OnKeyDown(CPDFSDK_Annot* pAnnot, |
51 » virtual FX_BOOL»» » » OnChar(CPDFSDK_Annot* pAnnot, FX
_UINT nChar, FX_UINT nFlags); | 77 FX_UINT nKeyCode, |
| 78 FX_UINT nFlags); |
| 79 virtual FX_BOOL OnChar(CPDFSDK_Annot* pAnnot, FX_UINT nChar, FX_UINT nFlags); |
52 | 80 |
53 » virtual FX_BOOL»» » » OnSetFocus(CPDFSDK_Annot* pAnnot
, FX_UINT nFlag); | 81 virtual FX_BOOL OnSetFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag); |
54 » virtual FX_BOOL»» » » OnKillFocus(CPDFSDK_Annot* pAnno
t, FX_UINT nFlag); | 82 virtual FX_BOOL OnKillFocus(CPDFSDK_Annot* pAnnot, FX_UINT nFlag); |
55 | 83 |
56 » virtual FX_BOOL»» » » CanCopy(CPDFSDK_Document* pDocum
ent); | 84 virtual FX_BOOL CanCopy(CPDFSDK_Document* pDocument); |
57 » virtual FX_BOOL»» » » CanCut(CPDFSDK_Document* pDocume
nt); | 85 virtual FX_BOOL CanCut(CPDFSDK_Document* pDocument); |
58 » virtual FX_BOOL»» » » CanPaste(CPDFSDK_Document* pDocu
ment); | 86 virtual FX_BOOL CanPaste(CPDFSDK_Document* pDocument); |
59 | 87 |
60 » virtual void» » » » DoCopy(CPDFSDK_Document* pDocume
nt); | 88 virtual void DoCopy(CPDFSDK_Document* pDocument); |
61 » virtual void» » » » DoCut(CPDFSDK_Document* pDocumen
t); | 89 virtual void DoCut(CPDFSDK_Document* pDocument); |
62 » virtual void» » » » DoPaste(CPDFSDK_Document* pDocum
ent); | 90 virtual void DoPaste(CPDFSDK_Document* pDocument); |
63 | 91 |
64 // CPWL_TimerHandler | 92 // CPWL_TimerHandler |
65 » virtual void» » » » TimerProc(); | 93 virtual void TimerProc(); |
66 » virtual IFX_SystemHandler*» GetSystemHandler() const; | 94 virtual IFX_SystemHandler* GetSystemHandler() const; |
67 | 95 |
68 » virtual CPDF_Matrix» » » GetWindowMatrix(void* pAttachedD
ata); | 96 virtual CPDF_Matrix GetWindowMatrix(void* pAttachedData); |
69 » virtual CFX_WideString» » LoadPopupMenuString(int nIndex); | 97 virtual CFX_WideString LoadPopupMenuString(int nIndex); |
70 | 98 |
71 » virtual void» » » » GetActionData(CPDFSDK_PageView*
pPageView, CPDF_AAction::AActionType type, | 99 virtual void GetActionData(CPDFSDK_PageView* pPageView, |
72 » » » » » » » » » PDFSDK_F
ieldAction& fa); | 100 CPDF_AAction::AActionType type, |
73 » virtual void» » » » SetActionData(CPDFSDK_PageView*
pPageView, CPDF_AAction::AActionType type, | 101 PDFSDK_FieldAction& fa); |
74 » » » » » » » » » const PD
FSDK_FieldAction& fa); | 102 virtual void SetActionData(CPDFSDK_PageView* pPageView, |
75 » virtual FX_BOOL»» » » IsActionDataChanged(CPDF_AAction
::AActionType type, const PDFSDK_FieldAction& faOld, | 103 CPDF_AAction::AActionType type, |
76 » » » » » » » » » const PD
FSDK_FieldAction& faNew); | 104 const PDFSDK_FieldAction& fa); |
| 105 virtual FX_BOOL IsActionDataChanged(CPDF_AAction::AActionType type, |
| 106 const PDFSDK_FieldAction& faOld, |
| 107 const PDFSDK_FieldAction& faNew); |
77 | 108 |
78 » virtual void» » » » SaveState(CPDFSDK_PageView* pPag
eView); | 109 virtual void SaveState(CPDFSDK_PageView* pPageView); |
79 » virtual void» » » » RestoreState(CPDFSDK_PageView* p
PageView); | 110 virtual void RestoreState(CPDFSDK_PageView* pPageView); |
80 | 111 |
81 » virtual CPWL_Wnd* » » » ResetPDFWindow(CPDFSDK_PageView*
pPageView, FX_BOOL bRestoreValue); | 112 virtual CPWL_Wnd* ResetPDFWindow(CPDFSDK_PageView* pPageView, |
| 113 FX_BOOL bRestoreValue); |
82 | 114 |
83 » virtual void» » » » OnKeyStroke(FX_BOOL bKeyDown); | 115 virtual void OnKeyStroke(FX_BOOL bKeyDown); |
84 | 116 |
85 » CPDF_Matrix» » » » » GetCurMatrix(); | 117 CPDF_Matrix GetCurMatrix(); |
86 | 118 |
87 » CPDF_Rect» » » » » FFLtoPWL(const CPDF_Rect
& rect); | 119 CPDF_Rect FFLtoPWL(const CPDF_Rect& rect); |
88 » CPDF_Rect» » » » » PWLtoFFL(const CPDF_Rect
& rect); | 120 CPDF_Rect PWLtoFFL(const CPDF_Rect& rect); |
89 » CPDF_Point» » » » » FFLtoPWL(const CPDF_Poin
t& point); | 121 CPDF_Point FFLtoPWL(const CPDF_Point& point); |
90 » CPDF_Point» » » » » PWLtoFFL(const CPDF_Poin
t& point); | 122 CPDF_Point PWLtoFFL(const CPDF_Point& point); |
91 | 123 |
92 » CPDF_Point» » » » » WndtoPWL(CPDFSDK_PageVie
w* pPageView, const CPDF_Point& pt); | 124 CPDF_Point WndtoPWL(CPDFSDK_PageView* pPageView, const CPDF_Point& pt); |
93 » CPDF_Rect» » » » » FFLtoWnd(CPDFSDK_PageVie
w* pPageView, const CPDF_Rect& rect); | 125 CPDF_Rect FFLtoWnd(CPDFSDK_PageView* pPageView, const CPDF_Rect& rect); |
94 | 126 |
95 » void» » » » » » SetWindowRect(CPDFSDK_Pa
geView* pPageView, const CPDF_Rect& rcWindow); | 127 void SetWindowRect(CPDFSDK_PageView* pPageView, const CPDF_Rect& rcWindow); |
96 » CPDF_Rect» » » » » GetWindowRect(CPDFSDK_Pa
geView* pPageView); | 128 CPDF_Rect GetWindowRect(CPDFSDK_PageView* pPageView); |
97 | 129 |
98 » FX_BOOL»» » » » » CommitData(CPDFSDK_PageV
iew* pPageView, FX_UINT nFlag); | 130 FX_BOOL CommitData(CPDFSDK_PageView* pPageView, FX_UINT nFlag); |
99 » virtual FX_BOOL»» » » IsDataChanged(CPDFSDK_PageView*
pPageView); | 131 virtual FX_BOOL IsDataChanged(CPDFSDK_PageView* pPageView); |
100 » virtual void» » » » SaveData(CPDFSDK_PageView* pPage
View); | 132 virtual void SaveData(CPDFSDK_PageView* pPageView); |
101 | 133 |
102 » CPWL_Wnd*» » » » » GetPDFWindow(CPDFSDK_Pag
eView* pPageView, FX_BOOL bNew); | 134 CPWL_Wnd* GetPDFWindow(CPDFSDK_PageView* pPageView, FX_BOOL bNew); |
103 » void» » » » » » DestroyPDFWindow(CPDFSDK
_PageView* pPageView); | 135 void DestroyPDFWindow(CPDFSDK_PageView* pPageView); |
104 » void» » » » » » EscapeFiller(CPDFSDK_Pag
eView* pPageView, FX_BOOL bDestroyPDFWindow); | 136 void EscapeFiller(CPDFSDK_PageView* pPageView, FX_BOOL bDestroyPDFWindow); |
105 | 137 |
106 » virtual»PWL_CREATEPARAM»» GetCreateParam(); | 138 virtual PWL_CREATEPARAM GetCreateParam(); |
107 » virtual CPWL_Wnd*» » » NewPDFWindow(const PWL_CREATEPAR
AM& cp, CPDFSDK_PageView* pPageView) = 0; | 139 virtual CPWL_Wnd* NewPDFWindow(const PWL_CREATEPARAM& cp, |
108 » virtual CPDF_Rect» » » GetFocusBox(CPDFSDK_PageView* pP
ageView); | 140 CPDFSDK_PageView* pPageView) = 0; |
| 141 virtual CPDF_Rect GetFocusBox(CPDFSDK_PageView* pPageView); |
109 | 142 |
110 » FX_BOOL»» » » » » IsValid() const; | 143 FX_BOOL IsValid() const; |
111 » CPDF_Rect» » » » » GetPDFWindowRect() const
; | 144 CPDF_Rect GetPDFWindowRect() const; |
112 | 145 |
113 » CPDFSDK_PageView*» » » GetCurPageView(); | 146 CPDFSDK_PageView* GetCurPageView(); |
114 » void» » » » » » SetChangeMark(); | 147 void SetChangeMark(); |
115 | 148 |
116 » virtual void» » » » InvalidateRect(double left, doub
le top, double right, double bottom); | 149 virtual void InvalidateRect(double left, |
117 » CPDFDoc_Environment*» » GetApp(){return m_pApp;} | 150 double top, |
118 » CPDFSDK_Annot*» » » » GetSDKAnnot() {return m_pAnnot;} | 151 double right, |
| 152 double bottom); |
| 153 CPDFDoc_Environment* GetApp() { return m_pApp; } |
| 154 CPDFSDK_Annot* GetSDKAnnot() { return m_pAnnot; } |
119 | 155 |
120 protected: | 156 protected: |
121 using CFFL_PageView2PDFWindow = std::map<CPDFSDK_PageView*, CPWL_Wnd*>; | 157 using CFFL_PageView2PDFWindow = std::map<CPDFSDK_PageView*, CPWL_Wnd*>; |
122 | 158 |
123 CPDFDoc_Environment* m_pApp; | 159 CPDFDoc_Environment* m_pApp; |
124 CPDFSDK_Widget* m_pWidget; | 160 CPDFSDK_Widget* m_pWidget; |
125 CPDFSDK_Annot* m_pAnnot; | 161 CPDFSDK_Annot* m_pAnnot; |
126 | 162 |
127 FX_BOOL m_bValid; | 163 FX_BOOL m_bValid; |
128 CFFL_PageView2PDFWindow m_Maps; | 164 CFFL_PageView2PDFWindow m_Maps; |
129 CPDF_Point m_ptOldPos; | 165 CPDF_Point m_ptOldPos; |
130 }; | 166 }; |
131 | 167 |
132 class CFFL_Button : public CFFL_FormFiller | 168 class CFFL_Button : public CFFL_FormFiller { |
133 { | 169 public: |
134 public: | 170 CFFL_Button(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pWidget); |
135 » CFFL_Button(CPDFDoc_Environment* pApp, CPDFSDK_Annot* pWidget); | 171 virtual ~CFFL_Button(); |
136 » virtual ~CFFL_Button(); | |
137 | 172 |
138 » virtual void» » » » OnMouseEnter(CPDFSDK_PageView *p
PageView, CPDFSDK_Annot* pAnnot); | 173 virtual void OnMouseEnter(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot); |
139 » virtual void» » » » OnMouseExit(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot); | 174 virtual void OnMouseExit(CPDFSDK_PageView* pPageView, CPDFSDK_Annot* pAnnot); |
140 » virtual FX_BOOL»» » » OnLButtonDown(CPDFSDK_PageView *
pPageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 175 virtual FX_BOOL OnLButtonDown(CPDFSDK_PageView* pPageView, |
141 » virtual FX_BOOL»» » » OnLButtonUp(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 176 CPDFSDK_Annot* pAnnot, |
142 » virtual FX_BOOL»» » » OnMouseMove(CPDFSDK_PageView *pP
ageView, CPDFSDK_Annot* pAnnot, FX_UINT nFlags, const CPDF_Point& point); | 177 FX_UINT nFlags, |
143 » virtual void» » » » OnDraw(CPDFSDK_PageView *pPageVi
ew, CPDFSDK_Annot* pAnnot, | 178 const CPDF_Point& point); |
144 » » » » » » » » » CFX_Rend
erDevice* pDevice, CPDF_Matrix* pUser2Device, | 179 virtual FX_BOOL OnLButtonUp(CPDFSDK_PageView* pPageView, |
145 » » » » » » » » » FX_DWORD
dwFlags); | 180 CPDFSDK_Annot* pAnnot, |
| 181 FX_UINT nFlags, |
| 182 const CPDF_Point& point); |
| 183 virtual FX_BOOL OnMouseMove(CPDFSDK_PageView* pPageView, |
| 184 CPDFSDK_Annot* pAnnot, |
| 185 FX_UINT nFlags, |
| 186 const CPDF_Point& point); |
| 187 virtual void OnDraw(CPDFSDK_PageView* pPageView, |
| 188 CPDFSDK_Annot* pAnnot, |
| 189 CFX_RenderDevice* pDevice, |
| 190 CPDF_Matrix* pUser2Device, |
| 191 FX_DWORD dwFlags); |
146 | 192 |
147 » virtual»void» » » » OnDrawDeactive(CPDFSDK_PageView
*pPageView, CPDFSDK_Annot* pAnnot, | 193 virtual void OnDrawDeactive(CPDFSDK_PageView* pPageView, |
148 » » » » » » » » » CFX_Rend
erDevice* pDevice, CPDF_Matrix* pUser2Device, | 194 CPDFSDK_Annot* pAnnot, |
149 » » » » » » » » » FX_DWORD
dwFlags); | 195 CFX_RenderDevice* pDevice, |
150 protected: | 196 CPDF_Matrix* pUser2Device, |
151 » FX_BOOL»» » » » » m_bMouseIn; | 197 FX_DWORD dwFlags); |
152 » FX_BOOL»» » » » » m_bMouseDown; | 198 |
| 199 protected: |
| 200 FX_BOOL m_bMouseIn; |
| 201 FX_BOOL m_bMouseDown; |
153 }; | 202 }; |
154 | 203 |
155 #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_FORMFILLER_H_ | 204 #endif // FPDFSDK_INCLUDE_FORMFILLER_FFL_FORMFILLER_H_ |
OLD | NEW |