| 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 |