mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
mtrackbar.h
Go to the documentation of this file.
1 //
3 // IMPORTANT NOTICE
4 //
5 // The following open source license statement does not apply to any
6 // entity in the Exception List published by FMSoft.
7 //
8 // For more information, please visit:
9 //
10 // https://www.fmsoft.cn/exception-list
11 //
13 
54 #ifdef _MGNCSCTRL_TRACKBAR
55 
56 #ifndef _MGUI_NCSCTRL_TRACKBAR_H
57 #define _MGUI_NCSCTRL_TRACKBAR_H
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif /* __cplusplus */
62 
68 /*
69  * \def NCSCTRL_TRACKBAR
70  * \brief the name of TrackBar control
71 */
72 #define NCSCTRL_TRACKBAR NCSCLASSNAME("trackbar")
73 
74 typedef struct _mTrackBar mTrackBar;
75 typedef struct _mTrackBarClass mTrackBarClass;
76 typedef struct _mTrackBarRenderer mTrackBarRenderer;
77 
78 #define mTrackBarHeader(Class) \
79  mSliderHeader(Class)
80 
87 struct _mTrackBar
88 {
89  mTrackBarHeader(mTrackBar)
90 };
91 
92 #define mTrackBarClassHeader(clsName, parentClass) \
93  mSliderClassHeader(clsName, parentClass)
94 
101 struct _mTrackBarClass
102 {
103  mTrackBarClassHeader(mTrackBar, mSlider)
104 };
105 
112 MGNCS_EXPORT extern mTrackBarClass g_stmTrackBarCls;
113 
114 #define mHTrackBar mTrackBar
115 #define mHTrackBarClass mTrackBarClass
116 #define g_stmHTrackBarCls g_stmTrackBarCls
117 #define mVTrackBar mTrackBar
118 #define mVTrackBarClass mTrackBarClass
119 #define g_stmVTrackBarCls g_stmTrackBarCls
120 
121 
122 #define mTrackBarRendererHeader(clsName, parentClass) \
123  mSliderRendererHeader(clsName, parentClass)
124 
131 struct _mTrackBarRenderer
132 {
133  mTrackBarRendererHeader(mTrackBar, mSlider)
134 };
135 
136 enum mTrackBarCalcArea {
137  NCSTRACKBAR_AREA_TRICK = 0x10
138 };
139 
140 
145 #define NCSP_TRKBAR_MAXPOS NCSP_SLIDER_MAXPOS
146 
150 #define NCSP_TRKBAR_MINPOS NCSP_SLIDER_MINPOS
151 
155 #define NCSP_TRKBAR_CURPOS NCSP_SLIDER_CURPOS
156 
160 #define NCSP_TRKBAR_LINESTEP NCSP_SLIDER_LINESTEP
161 
165 #define NCSP_TRKBAR_PAGESTEP NCSP_SLIDER_PAGESTEP
166 
171 enum mTrackBarProp{
173  NCSP_TRKBAR_THUMB_WIDTH = NCSP_SLIDER_MAX + 1,
175  NCSP_TRKBAR_THUMB_HEIGHT,
179  NCSP_TRKBAR_MAX
180 };
181 
197 #define NCSS_TRKBAR_HORIZONTAL NCSS_SLIDER_HORIZONTAL
198 
203 #define NCSS_TRKBAR_VERTICAL NCSS_SLIDER_VERTICAL
204 
209 #define NCSS_TRKBAR_NOTICK (0x0001L<<NCSS_SLIDER_SHIFT)
210 
211 #define NCSS_TRKBAR_SHIFT NCSS_SLIDER_SHIFT + 1
212 
217 #define NCSN_TRKBAR_CHANGED NCSN_SLIDER_CHANGED
218 
223 #define NCSN_TRKBAR_REACHMAX NCSN_SLIDER_REACHMAX
224 
229 #define NCSN_TRKBAR_REACHMIN NCSN_SLIDER_REACHMIN
230 
235 //#define NCSN_TRKBAR_STARTDRAG NCSN_SLIDER_STARTDRAG
236 
241 //#define NCSN_TRKBAR_STOPDRAG NCSN_SLIDER_STOPDRAG
242 
243 #define NCSN_TRKBAR_MAX NCSN_SLIDER_MAX
244 
245 
246 #define HORZ_SLIDER_W 24
247 #define HORZ_SLIDER_H 12
248 
249 #define VERT_SLIDER_W 12
250 #define VERT_SLIDER_H 24
251 
252 #define VERT_TRACK_W 6
253 #define HORZ_TRACK_H 6
254 
255 #define LEN_TICK 4
256 #define GAP_TICK_SLIDER 6
257 
260 #ifdef __cplusplus
261 }
262 #endif /* __cplusplus */
263 
264 #endif /* _MGUI_NCSCTRL_TRACKBAR_H */
265 #endif //_MGNCSCTRL_TRACKBAR