Revert "FX Bool considered harmful, part 3"
[pdfium.git] / fpdfsdk / include / pdfwindow / PWL_ListCtrl.h
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(int32_t nStart);
26         int32_t                                                 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,int32_t 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_