blob: 3a3b922e68942c037daf29ae25ee3c325431e61d [file] [log] [blame]
// 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