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