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_PDFWINDOW_PWL_LISTBOX_H_ | 7 #ifndef FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_ |
8 #define FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_ | 8 #define FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_ |
9 | 9 |
10 #include "fpdfsdk/fxedit/include/fx_edit.h" | 10 #include "fpdfsdk/fxedit/include/fx_edit.h" |
11 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" | 11 #include "fpdfsdk/pdfwindow/PWL_Wnd.h" |
12 | 12 |
| 13 class CFX_ListCtrl; |
13 class CPWL_List_Notify; | 14 class CPWL_List_Notify; |
14 class CPWL_ListBox; | 15 class CPWL_ListBox; |
15 class IPWL_Filler_Notify; | 16 class IPWL_Filler_Notify; |
| 17 struct CPVT_SecProps; |
| 18 struct CPVT_WordPlace; |
| 19 struct CPVT_WordProps; |
16 | 20 |
17 class CPWL_List_Notify : public IFX_List_Notify { | 21 class CPWL_List_Notify { |
18 public: | 22 public: |
19 CPWL_List_Notify(CPWL_ListBox* pList); | 23 CPWL_List_Notify(CPWL_ListBox* pList); |
20 ~CPWL_List_Notify() override; | 24 ~CPWL_List_Notify(); |
21 | 25 |
22 // IFX_List_Notify | |
23 void IOnSetScrollInfoX(FX_FLOAT fPlateMin, | |
24 FX_FLOAT fPlateMax, | |
25 FX_FLOAT fContentMin, | |
26 FX_FLOAT fContentMax, | |
27 FX_FLOAT fSmallStep, | |
28 FX_FLOAT fBigStep) override {} | |
29 void IOnSetScrollInfoY(FX_FLOAT fPlateMin, | 26 void IOnSetScrollInfoY(FX_FLOAT fPlateMin, |
30 FX_FLOAT fPlateMax, | 27 FX_FLOAT fPlateMax, |
31 FX_FLOAT fContentMin, | 28 FX_FLOAT fContentMin, |
32 FX_FLOAT fContentMax, | 29 FX_FLOAT fContentMax, |
33 FX_FLOAT fSmallStep, | 30 FX_FLOAT fSmallStep, |
34 FX_FLOAT fBigStep) override; | 31 FX_FLOAT fBigStep); |
35 void IOnSetScrollPosX(FX_FLOAT fx) override {} | 32 void IOnSetScrollPosY(FX_FLOAT fy); |
36 void IOnSetScrollPosY(FX_FLOAT fy) override; | 33 void IOnInvalidateRect(CFX_FloatRect* pRect); |
37 void IOnInvalidateRect(CFX_FloatRect* pRect) override; | |
38 | 34 |
39 void IOnSetCaret(FX_BOOL bVisible, | 35 void IOnSetCaret(FX_BOOL bVisible, |
40 const CFX_FloatPoint& ptHead, | 36 const CFX_FloatPoint& ptHead, |
41 const CFX_FloatPoint& ptFoot, | 37 const CFX_FloatPoint& ptFoot, |
42 const CPVT_WordPlace& place); | 38 const CPVT_WordPlace& place); |
43 void IOnCaretChange(const CPVT_SecProps& secProps, | 39 void IOnCaretChange(const CPVT_SecProps& secProps, |
44 const CPVT_WordProps& wordProps); | 40 const CPVT_WordProps& wordProps); |
45 | 41 |
46 private: | 42 private: |
47 CPWL_ListBox* m_pList; | 43 CPWL_ListBox* m_pList; |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 int32_t FindNext(int32_t nIndex, FX_WCHAR nChar) const; | 95 int32_t FindNext(int32_t nIndex, FX_WCHAR nChar) const; |
100 CFX_FloatRect GetContentRect() const; | 96 CFX_FloatRect GetContentRect() const; |
101 FX_FLOAT GetFirstHeight() const; | 97 FX_FLOAT GetFirstHeight() const; |
102 CFX_FloatRect GetListRect() const; | 98 CFX_FloatRect GetListRect() const; |
103 | 99 |
104 void SetFillerNotify(IPWL_Filler_Notify* pNotify) { | 100 void SetFillerNotify(IPWL_Filler_Notify* pNotify) { |
105 m_pFillerNotify = pNotify; | 101 m_pFillerNotify = pNotify; |
106 } | 102 } |
107 | 103 |
108 protected: | 104 protected: |
109 IFX_List* m_pList; | 105 std::unique_ptr<CFX_ListCtrl> m_pList; |
110 CPWL_List_Notify* m_pListNotify; | 106 std::unique_ptr<CPWL_List_Notify> m_pListNotify; |
111 FX_BOOL m_bMouseDown; | 107 FX_BOOL m_bMouseDown; |
112 FX_BOOL m_bHoverSel; | 108 FX_BOOL m_bHoverSel; |
113 IPWL_Filler_Notify* m_pFillerNotify; | 109 IPWL_Filler_Notify* m_pFillerNotify; |
114 | 110 |
115 public: | 111 public: |
116 void AttachFFLData(void* pData) { m_pFormFiller = pData; } | 112 void AttachFFLData(void* pData) { m_pFormFiller = pData; } |
117 | 113 |
118 private: | 114 private: |
119 void* m_pFormFiller; | 115 void* m_pFormFiller; |
120 }; | 116 }; |
121 | 117 |
122 #endif // FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_ | 118 #endif // FPDFSDK_PDFWINDOW_PWL_LISTBOX_H_ |
OLD | NEW |