mGNCS API Reference  v1.5.0
A new control set and a new framework for MiniGUI apps
mscrollbar.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_SCROLLBAR
55 
56 #ifndef _MGUI_NCSCTRL_SCRLBR_H
57 #define _MGUI_NCSCTRL_SCRLBR_H
58 
59 #ifdef __cplusplus
60 extern "C" {
61 #endif /* __cplusplus */
62 
68 /*
69  * \def NCSCTRL_SCROLLBAR
70  * \brief the name of scrollbar control
71 */
72 #define NCSCTRL_SCROLLBAR NCSCLASSNAME("scrollbar")
73 
74 typedef struct _mScrollBar mScrollBar;
75 typedef struct _mScrollBarClass mScrollBarClass;
76 typedef struct _mScrollBarRenderer mScrollBarRenderer;
77 
78 #define mScrollBarHeader(Class) \
79  mSliderHeader(Class)
80 
87 struct _mScrollBar
88 {
89  mScrollBarHeader(mScrollBar)
90 };
91 
92 #define mScrollBarClassHeader(clsName, parentClass) \
93  mSliderClassHeader(clsName, parentClass)
94 
101 struct _mScrollBarClass
102 {
103  mScrollBarClassHeader(mScrollBar, mSlider)
104 };
105 
112 MGNCS_EXPORT extern mScrollBarClass g_stmScrollBarCls;
113 
114 
115 #define mHScrollBar mScrollBar
116 #define mHScrollBarClass mScrollBarClass
117 #define g_stmHScrollBarCls g_stmScrollBarCls
118 #define mVScrollBar mScrollBar
119 #define mVScrollBarClass mScrollBarClass
120 #define g_stmVScrollBarCls g_stmScrollBarCls
121 
122 
123 #define mScrollBarRendererHeader(clsName, parentClass) \
124  mSliderRendererHeader(clsName, parentClass)
125 
132 struct _mScrollBarRenderer
133 {
134  mScrollBarRendererHeader(mScrollBar, mSlider)
135 };
136 
137 
142 #define NCSP_SCRLBR_MAXPOS NCSP_SLIDER_MAXPOS
143 
147 #define NCSP_SCRLBR_MINPOS NCSP_SLIDER_MINPOS
148 
152 #define NCSP_SCRLBR_CURPOS NCSP_SLIDER_CURPOS
153 
157 #define NCSP_SCRLBR_LINESTEP NCSP_SLIDER_LINESTEP
158 
162 #define NCSP_SCRLBR_PAGESTEP NCSP_SLIDER_PAGESTEP
163 
164 #define NCSP_SCRLBR_MAX (NCSP_SLIDER_MAX + 1)
165 
166 
171 #define NCSS_SCRLBR_HORIZONTAL NCSS_SLIDER_HORIZONTAL
172 
176 #define NCSS_SCRLBR_ARROWS (1<<NCSS_SLIDER_SHIFT)
177 
182 #define NCSS_SCRLBR_LEFTDBLARROWS (2<<NCSS_SLIDER_SHIFT)
183 
188 #define NCSS_SCRLBR_UPDBLARROWS NCSS_SCRLBR_LEFTDBLARROWS
189 
194 #define NCSS_SCRLBR_RIGHTDBLARROWS (4<<NCSS_SLIDER_SHIFT)
195 
200 #define NCSS_SCRLBR_DOWNDBLARROWS NCSS_SCRLBR_RIGHTDBLARROWS
201 #define NCSS_SCRLBR_SHIFT (3+NCSS_SLIDER_SHIFT)
202 
207 #define NCSS_SCRLBR_VERTICAL NCSS_SLIDER_VERTICAL
208 
213 #define NCSN_SCRLBR_CHANGED NCSN_SLIDER_CHANGED
214 
219 #define NCSN_SCRLBR_REACHMAX NCSN_SLIDER_REACHMAX
220 
225 #define NCSN_SCRLBR_REACHMIN NCSN_SLIDER_REACHMIN
226 
231 //#define NCSN_SCRLBR_STARTDRAG NCSN_SLIDER_STARTDRAG
232 
237 //#define NCSN_SCRLBR_STOPDRAG NCSN_SLIDER_STOPDRAG
238 
239 #define NCSN_SCRLBR_MAX NCSN_SLIDER_MAX
240 
243 #ifdef __cplusplus
244 }
245 #endif /* __cplusplus */
246 
247 #endif /* _MGUI_NCSCTRL_SCRLBR_H */
248 #endif //_MGNCSCTRL_SCROLLBAR