mGNCS4Touch API Reference  v1.5.0
A set of mGNCS-compliant controls for devices with a touch screen.
mexlist.h
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 /*
14  * \file mexlist.h
15  * \author miniStudio team of FMSoft
16  * \date 2010/10/09
17  *
18  \verbatim
19 
20  This file is part of mGNCS4Touch, one of MiniGUI components.
21 
22  Copyright (C) 2008-2018 FMSoft (http://www.fmsoft.cn).
23 
24  This program is free software: you can redistribute it and/or modify
25  it under the terms of the GNU General Public License as published by
26  the Free Software Foundation, either version 3 of the License, or
27  (at your option) any later version.
28 
29  This program is distributed in the hope that it will be useful,
30  but WITHOUT ANY WARRANTY; without even the implied warranty of
31  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32  GNU General Public License for more details.
33 
34  You should have received a copy of the GNU General Public License
35  along with this program. If not, see <http://www.gnu.org/licenses/>.
36 
37  Or,
38 
39  As this program is a library, any link to this program must follow
40  GNU General Public License version 3 (GPLv3). If you cannot accept
41  GPLv3, you need to be licensed from FMSoft.
42 
43  If you have got a commercial license of this program, please use it
44  under the terms and conditions of the commercial license.
45 
46  For more information about the commercial license, please refer to
47  <http://www.minigui.com/blog/minigui-licensing-policy/>.
48 
49  \endverbatim
50 */
51 
52 #ifndef _MGUI_NCSCTRL_EXLIST_H
53 #define _MGUI_NCSCTRL_EXLIST_H
54 
55 
56 #ifdef __cplusplus
57 extern "C" {
58 #endif /* __cplusplus */
59 
60 #define NCSCTRL_EXLIST NCSCLASSNAME("exlist")
61 
62 typedef struct _mExList mExList;
63 typedef struct _mExListClass mExListClass;
64 typedef struct _mExListRenderer mExListRenderer;
65 
66 //#define NCSS_EXLST_LOOP (1<<NCSS_LIST_SHIFT)
67 //#define NCSS_EXLST_MULTIPLE (2<<NCSS_LIST_SHIFT)
68 #define NCSS_EXLST_SHIFT (NCSS_ASTLST_SHIFT+0)
69 
70 #define mExListHeader(clsName) \
71  mListHeader(clsName) \
72  unsigned long effector; \
73  int duration; \
74  int key; \
75  int mouseY;
76 
77 struct _mExList
78 {
79  mExListHeader(mExList)
80 };
81 
82 #define mExListClassHeader(clsName, superCls) \
83  mListClassHeader(clsName, superCls) \
84  void (*runAnimation)(clsName*, int startV, int endV);
85 
86 struct _mExListClass
87 {
88  mExListClassHeader(mExList, mList)
89 };
90 
91 #define mExListRendererHeader(clsName, parentClass) \
92  mListRendererHeader(clsName, parentClass)
93 
94 struct _mExListRenderer {
95  mExListRendererHeader(mExList, mList)
96 };
97 
98 enum mExListProp
99 {
100  NCSP_EXLIST_EFFECTOR = NCSP_LIST_MAX,
101  NCSP_EXLIST_MAX,
102 };
103 
104 enum mExListNotify
105 {
106  NCSN_EXLIST_NODE_CHANGED = NCSN_LIST_MAX,
107  NCSN_EXLIST_MAX,
108 };
109 
110 
111 MTOUCH_EXPORT extern mExListClass g_stmExListCls;
112 
113 #ifdef __cplusplus
114 }
115 #endif /* __cplusplus */
116 
117 #endif /* _MGUI_NCSCTRL_EXLIST_H */
118