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