1 #ifndef __CALENDAR_EXTENDED_EDC_H__
2 #define __CALENDAR_EXTENDED_EDC_H__
7 /***********************************************************************/
8 /* size difinition layer */
9 #define PART_BG(iName)\
16 state: "default" 0.0;\
21 #define PART_BG_EX(iName, iMinx, iMiny)\
28 state: "default" 0.0;\
34 #define PART_RECT(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
41 state: "default" 0.0;\
42 rel1 { relative: iR1x iR1y; to: iR1t; } \
43 rel2 { relative: iR2x iR2y; to: iR2t; } \
48 #define PART_V_PIXEL_RECT(iName, size, iTo, iRy, iAy)\
55 state: "default" 0.0;\
59 rel1 { relative: 0.0 iRy; to: iTo; } \
60 rel2 { relative: 1.0 iRy; to: iTo; } \
65 #define PART_H_PIXEL_RECT(iName, size, iTo, iRx, iAx)\
72 state: "default" 0.0;\
76 rel1 { relative: iRx 0.0; to: iTo; } \
77 rel2 { relative: iRx 1.0; to: iTo; } \
82 #define PART_PIXEL_RECT(iName, iX, iY, iRx, iRy, iTo, iAx, iAy)\
89 state: "default" 0.0;\
93 rel1 { relative: iRx iRy; to: iTo; } \
94 rel2 { relative: iRx iRy; to: iTo; } \
100 /* vertical divided rect, index range from 0~N-1
101 * iIndex must be immediate integer and expression like (1+2) is not allowed
103 #define PART_V_DIVID_RECT(iName, iTo, iIndex, iN)\
110 state: "default" 0.0;\
111 rel1 { relative: 0.0 (iIndex%iN)/iN; to: iTo; } \
112 rel2 { relative: 1.0 (iIndex%iN+1)/iN; to: iTo; } \
117 /* horizontal divided rect, index range from 0~N-1
118 * iIndex must be immediate integer and expression like (1+2) is not allowed
120 #define PART_H_DIVID_RECT(iName, iTo, iIndex, iN)\
127 state: "default" 0.0;\
128 rel1 { relative: (iIndex%iN)/iN 0.0; to: iTo; } \
129 rel2 { relative: (iIndex%iN+1)/iN 1.0; to: iTo; } \
134 #define PART_CLIPPER_RECT(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
141 state: "default" 0.0;\
142 rel1 { relative: iR1x iR1y; to: iR1t; } \
143 rel2 { relative: iR2x iR2y; to: iR2t; } \
144 color: 255 255 255 255;\
148 /***********************************************************************/
149 /* mouse event filter layer */
150 #define PART_EVENT_RECT(iName, iTo)\
157 state: "default" 0.0;\
158 rel1 { relative: 0.0 0.0; to: iTo; } \
159 rel2 { relative: 1.0 1.0; to: iTo; } \
164 /***********************************************************************/
166 #define PART_COLOR_RECT(iName, iTo, iCr, iCg, iCb, iCa)\
173 state: "default" 0.0;\
174 rel1 { relative: 0.0 0.0; to: iTo; } \
175 rel2 { relative: 1.0 1.0; to: iTo; } \
176 color: iCr iCg iCb iCa;\
180 #define PART_IMAGE(iName, iTo, iImage)\
187 state: "default" 0.0;\
188 rel1 { relative: 0.0 0.0; to: iTo; } \
189 rel2 { relative: 1.0 1.0; to: iTo; } \
190 image.normal : iImage;\
194 #define PART_IMAGE_REL(iName, iImage, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
195 PART_RECT("_"iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
196 PART_IMAGE(iName, "_"iName, iImage)\
198 #define PART_BORDER_IMAGE(iName, iTo, iImage, iBl, iBr, iBt, iBb)\
205 state: "default" 0.0;\
206 rel1 { relative: 0.0 0.0; to: iTo; } \
207 rel2 { relative: 1.0 1.0; to: iTo; } \
208 image.normal : iImage;\
209 image.border : iBl iBr iBt iBb;\
213 #define PART_SWALLOW(iName, iTo)\
220 state: "default" 0.0;\
221 rel1 { relative: 0.0 0.0; to: iTo; } \
222 rel2 { relative: 1.0 1.0; to: iTo; } \
226 #define PART_SWALLOW_REL(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
227 PART_RECT("_"iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
228 PART_SWALLOW(iName, "_"iName)\
230 #define PART_UNVISIBLE_SWALLOW(iName, iTo)\
237 state: "default" 0.0;\
239 rel1 { relative: 0.0 0.0; to: iTo; } \
240 rel2 { relative: 1.0 1.0; to: iTo; } \
244 #define PART_UNVISIBLE_SWALLOW_REL(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
245 PART_RECT("_"iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
246 PART_UNVISIBLE_SWALLOW(iName, "_"iName)\
248 #define PART_CLIPPED_SWALLOW(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t,\
257 state: "default" 0.0;\
260 rel1 { relative: iR1x iR1y; to: iR1t; } \
261 rel2 { relative: iR2x iR2y; to: iR2t; } \
265 #define PART_TEXT(iName, iTo, iText, iFont, iSize,\
266 iAx, iAy, iCr, iCg, iCb, iCa)\
273 state: "default" 0.0;\
274 rel1 { relative: 0.0 0.0; to: iTo; } \
275 rel2 { relative: 1.0 1.0; to: iTo; } \
276 color: iCr iCg iCb iCa;\
286 #define PART_TEXT_REL(iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t,\
287 iText, iFont, iSize, iAx, iAy, iCr, iCg, iCb, iCa)\
288 PART_RECT("_"iName, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
289 PART_TEXT(iName, "_"iName, iText, iFont, iSize, iAx, iAy, iCr, iCg, iCb, iCa)\
291 /***********************************************************************/
293 #define SCRIPT_CUSTOM_PART(iPart)\
294 custom_state(PPART#iPart, "default", 0.0);\
295 set_state(PPART#iPart, "custom", 0.0)
297 #define SCRIPT_SET_REL(iPart, iR1x, iR1y, iR1t, iR2x, iR2y, iR2t)\
298 set_state_val(PPART#iPart, STATE_REL1, iR1x, iR1y);\
299 set_state_val(PPART#iPart, STATE_REL1_TO, PPART#iR1t, PPART#iR1t);\
300 set_state_val(PPART#iPart, STATE_REL2, iR2x, iR2y);\
301 set_state_val(PPART#iPart, STATE_REL2_TO, PPART#iR2t, PPART#iR2t)\
303 #define SCRIPT_SET_VISIBLE(iPart, iV)\
304 set_state_val(PPART#iPart, STATE_VISIBLE, iV)
306 #define SCRIPT_SET_IMAGE(iPart, iV)\
307 set_state_val(PPART#iPart, STATE_IMAGE, PIMAGE#iV)
309 /***********************************************************************/
311 #define PROGRAM_STATE_SET(isignal, isource, itarget, istate)\
313 name: #isource#isignal;\
316 action: STATE_SET #istate 0.0;\
320 #define PROGRAM_SET_VISIBLE(isignal, isource, iPart, iV)\
322 name: #isource#isignal;\
326 SCRIPT_SET_VISIBLE(iPart, iV);\
330 #define PROGRAM_SET_IMAGE(iname, isignal, isource, iPart, image)\
336 set_state_val(PPART#iPart, STATE_IMAGE, PIMAGE#image);\
340 #define PROGRAM_SET_INT(iname, isignal, isource, var, value)\
346 set_int(var, value);\
350 #endif /* __CALENDAR_EXTENDED_EDC_H__ */