// Copyright 2014 PDFium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com #ifndef _PWL_LISTCTRL_H_ #define _PWL_LISTCTRL_H_ class CPWL_ListCtrl; class CPWL_ListCtrl : public CPWL_Wnd { public: CPWL_ListCtrl(); virtual ~CPWL_ListCtrl(); public: void SetScrollPos(const CPDF_Point& point); CPDF_Point GetScrollPos() const; CPDF_Rect GetScrollArea() const; void SetItemSpace(FX_FLOAT fSpace); void SetTopSpace(FX_FLOAT fSpace); void SetBottomSpace(FX_FLOAT fSpace); void ResetFace(); void ResetContent(FX_INT32 nStart); FX_INT32 GetItemIndex(CPWL_Wnd* pItem); FX_FLOAT GetContentsHeight(FX_FLOAT fLimitWidth); protected: virtual void RePosChildWnd(); virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device); public: CPDF_Point InToOut(const CPDF_Point& point) const; CPDF_Point OutToIn(const CPDF_Point& point) const; CPDF_Rect InToOut(const CPDF_Rect& rect) const; CPDF_Rect OutToIn(const CPDF_Rect& rect) const; private: void ResetAll(FX_BOOL bMove,FX_INT32 nStart); private: CPDF_Rect m_rcContent; CPDF_Point m_ptScroll; FX_FLOAT m_fItemSpace; FX_FLOAT m_fTopSpace; FX_FLOAT m_fBottomSpace; }; #endif