OLD | NEW |
| (Empty) |
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 XFA_INCLUDE_FWL_BASEWIDGET_FWL_SCROLLBAR_H_ | |
8 #define XFA_INCLUDE_FWL_BASEWIDGET_FWL_SCROLLBAR_H_ | |
9 | |
10 #include "xfa/fwl/core/fwl_widgetimp.h" | |
11 | |
12 #define FWL_CLASS_ScrollBar L"FWL_SCROLLBAR" | |
13 #define FWL_CLASSHASH_ScrollBar 2826584844 | |
14 #define FWL_STYLEEXT_SCB_Horz (0L << 0) | |
15 #define FWL_STYLEEXT_SCB_Vert (1L << 0) | |
16 #define FWL_PART_SCB_Border 1 | |
17 #define FWL_PART_SCB_Edge 2 | |
18 #define FWL_PART_SCB_Background 3 | |
19 #define FWL_PART_SCB_ForeArrow 4 | |
20 #define FWL_PART_SCB_BackArrow 5 | |
21 #define FWL_PART_SCB_Thumb 6 | |
22 #define FWL_PART_SCB_LowerTrack 7 | |
23 #define FWL_PART_SCB_UpperTrack 8 | |
24 #define FWL_PARTSTATE_SCB_Normal (0L << 0) | |
25 #define FWL_PARTSTATE_SCB_Hovered (1L << 0) | |
26 #define FWL_PARTSTATE_SCB_Pressed (2L << 0) | |
27 #define FWL_PARTSTATE_SCB_Disabled (3L << 0) | |
28 #define FWL_WGTHITTEST_SCB_ForeArrow FWL_WGTHITTEST_MAX + 1 | |
29 #define FWL_WGTHITTEST_SCB_BackArrow FWL_WGTHITTEST_MAX + 2 | |
30 #define FWL_WGTHITTEST_SCB_LowerTrack FWL_WGTHITTEST_MAX + 3 | |
31 #define FWL_WGTHITTEST_SCB_UpperTrack FWL_WGTHITTEST_MAX + 4 | |
32 #define FWL_WGTHITTEST_SCB_Thumb FWL_WGTHITTEST_MAX + 5 | |
33 #define FWL_CAPACITY_SCB_Size FWL_WGTCAPACITY_MAX | |
34 | |
35 enum FWL_SCBCODE { | |
36 FWL_SCBCODE_None = 1, | |
37 FWL_SCBCODE_Min, | |
38 FWL_SCBCODE_Max, | |
39 FWL_SCBCODE_PageBackward, | |
40 FWL_SCBCODE_PageForward, | |
41 FWL_SCBCODE_StepBackward, | |
42 FWL_SCBCODE_StepForward, | |
43 FWL_SCBCODE_Pos, | |
44 FWL_SCBCODE_TrackPos, | |
45 FWL_SCBCODE_EndScroll, | |
46 }; | |
47 | |
48 class IFWL_ScrollBarDP : public IFWL_DataProvider {}; | |
49 | |
50 class IFWL_ScrollBar : public IFWL_Widget { | |
51 public: | |
52 static IFWL_ScrollBar* Create(const CFWL_WidgetImpProperties& properties, | |
53 IFWL_Widget* pOuter); | |
54 | |
55 FX_BOOL IsVertical(); | |
56 FWL_ERR GetRange(FX_FLOAT& fMin, FX_FLOAT& fMax); | |
57 FWL_ERR SetRange(FX_FLOAT fMin, FX_FLOAT fMax); | |
58 FX_FLOAT GetPageSize(); | |
59 FWL_ERR SetPageSize(FX_FLOAT fPageSize); | |
60 FX_FLOAT GetStepSize(); | |
61 FWL_ERR SetStepSize(FX_FLOAT fStepSize); | |
62 FX_FLOAT GetPos(); | |
63 FWL_ERR SetPos(FX_FLOAT fPos); | |
64 FX_FLOAT GetTrackPos(); | |
65 FWL_ERR SetTrackPos(FX_FLOAT fTrackPos); | |
66 FX_BOOL DoScroll(FX_DWORD dwCode, FX_FLOAT fPos = 0.0f); | |
67 | |
68 protected: | |
69 IFWL_ScrollBar(); | |
70 }; | |
71 | |
72 #endif // XFA_INCLUDE_FWL_BASEWIDGET_FWL_SCROLLBAR_H_ | |
OLD | NEW |