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 _FWL_SPINBUTTON_H
8 #define _FWL_SPINBUTTON_H
9 class CFWL_WidgetImpProperties;
10 class IFWL_Widget;
11 class IFWL_SpinButton;
12 #define FWL_CLASS_SpinButton L"FWL_SPINBUTTON"
13 #define FWL_CLASSHASH_SpinButton 3793043646
14 #define FWL_STYLEEXE_SPB_Vert (1L << 0)
15 #define FWL_PART_SPB_Border 1
16 #define FWL_PART_SPB_Edge 2
17 #define FWL_PART_SPB_UpButton 3
18 #define FWL_PART_SPB_DownButton 4
19 #define FWL_PARTSTATE_SPB_Normal (0L << 0)
20 #define FWL_PARTSTATE_SPB_Hovered (1L << 0)
21 #define FWL_PARTSTATE_SPB_Pressed (2L << 0)
22 #define FWL_PARTSTATE_SPB_Disabled (3L << 0)
23 #define FWL_WGTHITTEST_SPB_UpButton (FWL_WGTHITTEST_MAX + 1)
24 #define FWL_WGTHITTEST_SPB_DownButton (FWL_WGTHITTEST_MAX + 2)
25 #define FWL_EVT_SPB_Click L"FWL_EVENT_SPB_Click"
26 #define FWL_EVTHASH_SPB_Click 2927651187
BEGIN_FWL_EVENT_DEF(CFWL_EvtSpbClick,FWL_EVTHASH_SPB_Click)27 BEGIN_FWL_EVENT_DEF(CFWL_EvtSpbClick, FWL_EVTHASH_SPB_Click)
28 FX_BOOL m_bUp;
29 END_FWL_EVENT_DEF
30 
31 class IFWL_SpinButton : public IFWL_Widget {
32  public:
33   static IFWL_SpinButton* Create(const CFWL_WidgetImpProperties& properties,
34                                  IFWL_Widget* pOuter);
35 
36   FWL_ERR EnableButton(FX_BOOL bEnable, FX_BOOL bUp = TRUE);
37   FX_BOOL IsButtonEnable(FX_BOOL bUp = TRUE);
38 
39  protected:
40   IFWL_SpinButton();
41 };
42 #endif
43