blob: dbaffc5b5857febf71b1722ccbd37da32cfd554d [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();
~CPWL_ListCtrl() override;
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:
// CPWL_Wnd
void RePosChildWnd() override;
void DrawChildAppearance(CFX_RenderDevice* pDevice,
CPDF_Matrix* pUser2Device) override;
private:
void ResetAll(FX_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_