Home | History | Annotate | Download | only in pdfwindow
      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