mGNCS API Reference  v1.2.0
A new control set and a new framework for MiniGUI apps
piece-id.h
1 /*
2  * This file is part of mGNCS, a component for MiniGUI.
3  *
4  * Copyright (C) 2008~2018, Beijing FMSoft Technologies Co., Ltd.
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program. If not, see <http://www.gnu.org/licenses/>.
18  *
19  * Or,
20  *
21  * As this program is a library, any link to this program must follow
22  * GNU General Public License version 3 (GPLv3). If you cannot accept
23  * GPLv3, you need to be licensed from FMSoft.
24  *
25  * If you have got a commercial license of this program, please use it
26  * under the terms and conditions of the commercial license.
27  *
28  * For more information about the commercial license, please refer to
29  * <http://www.minigui.com/en/about/licensing-policy/>.
30  */
31 
32 #ifndef PIECE_ID_H
33 #define PIECE_ID_H
34 
38 enum SysPiecePropsRange{
39  SYS_PIECE_PROP_BEGIN = 1,
40  PIECECOMM_PROP_BEGIN = SYS_PIECE_PROP_BEGIN,
41  PIECECOMM_PROP_ALIGN,
42  PIECECOMM_PROP_VALIGN,
43  PIECECOMM_PROP_AUTOWRAP,
44  PIECECOMM_PROP_WORDBREAK,
45  PIECECOMM_PROP_DRAWMOD,
46  PIECECOMM_PROP_DIRECTION,
47  PIECECOMM_PROP_SPACE,
48  PIECECOMM_PROP_MARGIN,
49  PIECECOMM_PROP_MAX,
50  PIECECOMM_PROP_POS,
51  PIECECOMM_PROP_MIN,
52  PIECECOMM_PROP_LINESTEP,
53  PIECECOMM_PROP_PAGESTEP,
54  PIECECOMM_PROP_SELECT,
55  PIECECOMM_PROP_END = PIECECOMM_PROP_BEGIN + 256,
56 
57  HOTPIECE_PROP_BEGIN,
58  HOTPIECE_PROP_END,
59 
60 
61  LABELPIECE_PROP_BEGIN,
62  LABELPIECE_PROP_END = LABELPIECE_PROP_BEGIN + 10,
63 
64  LEDLBLPIECE_PROP_BEGIN,
65  LEDLBLPIECE_PROP_END = LEDLBLPIECE_PROP_BEGIN + 10,
66 
67  ANIMATEPIECE_PROP_BEGIN,
68  ANIMATEPIECE_PROP_END = ANIMATEPIECE_PROP_BEGIN + 10,
69 
70  IMAGEPIECE_PROP_BEGIN,
71  IMAGEPIECE_PROP_END = IMAGEPIECE_PROP_BEGIN + 10,
72 
73  IMAGELABELPIECE_PROP_BEGIN,
74  IMAGELABELPIECE_PROP_END = IMAGELABELPIECE_PROP_BEGIN + 10,
75 
76  ABP_PROP_BEGIN,
77  ABP_PROP_END = ABP_PROP_BEGIN + 10,
78 
79  PAIRPIECE_PROP_BEGIN,
80  PAIRPIECE_PROP_END = PAIRPIECE_PROP_BEGIN + 10,
81 
82  SLIDERPIECE_PROP_BEGIN,
83  SLIDERPIECE_PROP_END = SLIDERPIECE_PROP_BEGIN + 10,
84 
85  BOXLAYOUTPIECE_PROP_BEGIN,
86  BOXLAYOUTPIECE_PROP_END = BOXLAYOUTPIECE_PROP_BEGIN + 10,
87 
88  SPINBOXPIECE_PROP_BEGIN,
89  SPINBOXPIECE_PROP_END = SPINBOXPIECE_PROP_BEGIN + 10,
90 
91  GRIDBOXPIECE_PROP_BEGIN,
92  GRIDBOXPIECE_PROP_END = GRIDBOXPIECE_PROP_BEGIN + 10,
93 
94  DAYGRIDPIECE_PROP_BEGIN,
95  DAYGRIDPIECE_PROP_END = DAYGRIDPIECE_PROP_BEGIN + 10,
96 
97  CHECKBUTTONPIECE_PROP_BEGIN,
98  CHECKBUTTONPIECE_PROP_END = CHECKBUTTONPIECE_PROP_BEGIN + 10,
99 
100  WEEKHEADPIECE_PROP_BEGIN,
101  WEEKHEADPIECE_PROP_END = WEEKHEADPIECE_PROP_BEGIN + 10,
102 
103  MONTHPIECE_PROP_BEGIN,
104  MONTHPIECE_PROP_END = MONTHPIECE_PROP_BEGIN + 10,
105 
106  MLISTSPINNEDPIECE_PROP_BEGIN,
107  MLISTSPINNEDPIECE_PROP_END = MLISTSPINNEDPIECE_PROP_BEGIN + 10,
108 
109  TOOLIMAGEPIECE_PROP_BEGIN,
110  TOOLIMAGEPIECE_PROP_END = TOOLIMAGEPIECE_PROP_BEGIN + 10,
111 
112  LINELAYOUTPIECE_PROP_BEGIN,
113  LINELAYOUTPIECE_PROP_END = LINELAYOUTPIECE_PROP_BEGIN + 10,
114 
115  PROGRESSPIECE_PROP_BEGIN,
116  PROGRESSPIECE_PROP_END = PROGRESSPIECE_PROP_BEGIN + 10,
117 
118  RECTPIECE_PROP_BEGIN,
119  RECTPIECE_PROP_END = RECTPIECE_PROP_BEGIN + 10,
120 
121  SIMPLELISTPIECE_PROP_BEGIN,
122  SIMPLELISTPIECE_PROP_END = SIMPLELISTPIECE_PROP_BEGIN + 10,
123 
124  SYS_PIECE_PROP_END = 10000,
125  USER_PIECE_PROP_BEGIN
126 };
127 
131 enum mSysPieceEventRange
132 {
133  SYS_PIECE_EVENT_BEGIN = 1,
134 
135  ABP_EVENT_BEGIN,
136 
137  ABP_EVENT_END = ABP_EVENT_BEGIN + 10,
138 
139  SLIDERPIECE_EVENT_BEGIN,
140  SLIDERPIECE_EVENT_END = SLIDERPIECE_EVENT_BEGIN + 10,
141 
142  SPINBOXPIECE_EVENT_BEGIN,
143  SPINBOXPIECE_EVENT_END = SPINBOXPIECE_EVENT_BEGIN + 10,
144 
145 
146  MONTHPIECE_EVENT_BEGIN,
147  MONTHPIECE_EVENT_END = MONTHPIECE_EVENT_BEGIN + 10,
148 
149 
150  SIMPLELISTPIECE_EVENT_BEGIN,
151  SIMPLELISTPIECE_EVENT_END = SIMPLELISTPIECE_EVENT_BEGIN + 10,
152 
153  SYS_PIECE_EVENT_END = 10000,
154 
155  USER_PIECE_EVENT_BEGIN,
156 };
157 
162 enum PieceState{
163  PIECE_STATE_NORMAL = 0,
164  PIECE_STATE_HILIGHT,
165  PIECE_STATE_PUSHED,
166  PIECE_STATE_CAPTURED,
167  PIECE_STATE_DISABLE
168 };
169 
170 enum PieceCheckState{
171  PIECE_CHECKSTATE_UNCHECKED = 0,
172  PIECE_CHECKSTATE_HALFCHECKED,
173  PIECE_CHECKSTATE_CHECKED
174 };
175 
184 #define NCS_PIECE_PAINT_STATE_MASK 0x000F
185 #define NCS_PIECE_PAINT_CHECK_STATE_MASK 0x00F0
186 #define NCS_PIECE_PAINT_GET_CHECK(add_data) (((add_data)&NCS_PIECE_PAINT_CHECK_STATE_MASK)>>4)
187 #define NCS_PIECE_PAINT_MAKE_CHECK(value) \
188  (((value)&0xF)<<4)
189 
193 #define NCS_PIECE_PAINT_ARROW_MASK 0x300
194 #define NCS_PIECE_PAINT_ARROW_SHIFT 8
195 #define NCS_PIECE_PAINT_ARROW_SHELL 0x400
196 enum mArrowPieceType {
197  NCS_ARROWPIECE_LEFT = 0x00,
198  NCS_ARROWPIECE_RIGHT = 0x100,
199  NCS_ARROWPIECE_UP = 0x200,
200  NCS_ARROWPIECE_DOWN = 0x300
201 };
205 #define NCS_PIECE_PAINT_FLAT 0x010000 //flat style
206 
207 
211 enum mLayoutPieceSizeType {
212  NCS_LAYOUTPIECE_ST_FIXED = 0,
213  NCS_LAYOUTPIECE_ST_PERCENT,
214  NCS_LAYOUTPIECE_ST_AUTO //use the piece size of iteself
215 };
216 
217 #define mLayoutPiece_getSizeType(size) (((size)&0xC000)>>14)
218 #define mLayoutPiece_setSizeType(size, type) ((size)=((size)&0x3FFF)|((type)<<14))
219 #define mLayoutPiece_setSize(size, value) ((size)=((size)&0xC000)|((value)&0x3FFF))
220 #define mLayoutPiece_getSize(size) ((size)&0x3FFF)
221 
222 
226 #define NCS_PIECE_PAINT_VERT 0x00010000
227 #define NCS_PIECE_PAINT_TICK 0x00020000
228 //progress
229 #define NCS_PIECE_PAINT_BLOCK 0x00040000
230 #define NCS_PIECE_PAINT_PERCENT 0x00080000
231 
232 #endif
233