1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_ 8 #define FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_ 9 10 #include "PWL_Wnd.h" 11 12 class CPWL_ListCtrl : public CPWL_Wnd 13 { 14 public: 15 CPWL_ListCtrl(); 16 virtual ~CPWL_ListCtrl(); 17 18 void SetScrollPos(const CPDF_Point& point); 19 CPDF_Point GetScrollPos() const; 20 CPDF_Rect GetScrollArea() const; 21 void SetItemSpace(FX_FLOAT fSpace); 22 void SetTopSpace(FX_FLOAT fSpace); 23 void SetBottomSpace(FX_FLOAT fSpace); 24 void ResetFace(); 25 void ResetContent(FX_INT32 nStart); 26 FX_INT32 GetItemIndex(CPWL_Wnd* pItem); 27 FX_FLOAT GetContentsHeight(FX_FLOAT fLimitWidth); 28 CPDF_Point InToOut(const CPDF_Point& point) const; 29 CPDF_Point OutToIn(const CPDF_Point& point) const; 30 CPDF_Rect InToOut(const CPDF_Rect& rect) const; 31 CPDF_Rect OutToIn(const CPDF_Rect& rect) const; 32 33 protected: 34 virtual void RePosChildWnd(); 35 virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device); 36 37 private: 38 void ResetAll(FX_BOOL bMove,FX_INT32 nStart); 39 40 CPDF_Rect m_rcContent; 41 CPDF_Point m_ptScroll; 42 FX_FLOAT m_fItemSpace; 43 FX_FLOAT m_fTopSpace; 44 FX_FLOAT m_fBottomSpace; 45 }; 46 47 #endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_ 48