blob: 3beee19230a8750a7a55fb5ab7b555f6cf7917cf [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 FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_
#define FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_
#include "PWL_Wnd.h"
class CPWL_ListCtrl : public CPWL_Wnd
{
public:
CPWL_ListCtrl();
virtual ~CPWL_ListCtrl();
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(int32_t nStart);
int32_t GetItemIndex(CPWL_Wnd* pItem);
FX_FLOAT GetContentsHeight(FX_FLOAT fLimitWidth);
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;
protected:
virtual void RePosChildWnd();
virtual void DrawChildAppearance(CFX_RenderDevice* pDevice, CPDF_Matrix* pUser2Device);
private:
void ResetAll(bool bMove,int32_t nStart);
CPDF_Rect m_rcContent;
CPDF_Point m_ptScroll;
FX_FLOAT m_fItemSpace;
FX_FLOAT m_fTopSpace;
FX_FLOAT m_fBottomSpace;
};
#endif // FPDFSDK_INCLUDE_PDFWINDOW_PWL_LISTCTRL_H_