Initial commit.
[euphoria.git] / data / themes / iio / macros / vpanel.edc
1 #define V_PREV_REL(NAME) \
2     rel1 { to, NAME"_scrollbar_trough_img"; relative, 0.5 0.0; offset, -7 -14; } \
3     rel2 { to, NAME"_scrollbar_trough_img"; relative, 0.5 0.0; offset, 7 0; } 
4 #define V_NEXT_REL(NAME) \
5     rel1 { to, NAME"_scrollbar_trough_img"; relative, 0.0 1.0; offset,  -7 0; } \
6     rel2 { to, NAME"_scrollbar_trough_img"; relative, 1.0 1.0; offset,   7 14; } 
7 #define VPANEL(NAME, BIMG, BIMG2, BW, BH, NIMG, NIMG2, NW, NH, REL1_TO, \
8         REL1_REL, REL1_OFF, REL2_TO, REL2_REL, REL2_OFF, CLIPTO) \
9       part {                            \
10         name, NAME"_rect";              \
11         clip_to, CLIPTO;                \
12         type, RECT;                     \
13         mouse_events, 0;                \
14         description {                   \
15           state, "default" 0.0;         \
16           color, 255 0 0 0;             \
17           rel1 {                        \
18             to, REL1_TO;                \
19             relative, REL1_REL;         \
20             offset, REL1_OFF;           \
21           }                             \
22           rel2 {                        \
23             to, REL2_TO;                \
24             relative, REL2_REL;         \
25             offset, REL2_OFF;           \
26           }                             \
27         }                               \
28       }                                 \
29       part {                            \
30         name, NAME"_list_border";       \
31         clip_to, CLIPTO;                \
32         type, IMAGE;                    \
33         repeat_events, 1;               \
34         description {                   \
35           state, "default" 0.0;         \
36           rel1 {                        \
37             to, NAME"_rect";            \
38             relative, 0.0 0.0;          \
39             offset, 3 9;                \
40           }                             \
41           rel2 {                        \
42             to, NAME"_rect";            \
43             relative, 1.0 1.0;          \
44             offset, -3 -10;             \
45           }                             \
46           image {                       \
47               normal, "lcd_window.png"; \
48               border, 9 9 14 10;                \
49           }                             \
50         }                               \
51       }                                 \
52       part {                            \
53         name, NAME"_scrollbar_trough_img";      \
54         clip_to, CLIPTO;                \
55         type, IMAGE;                    \
56         mouse_events, 0;                \
57         description {                   \
58           state, "default" 0.0;         \
59           color, 255 255 255 255;       \
60           rel1 {                        \
61             to, NAME"_rect";            \
62             relative, 1.0 0.0;          \
63             offset, -25 45;             \
64           }                             \
65           rel2 {                        \
66             to, NAME"_rect";            \
67             relative, 1.0 1.0;          \
68             offset, -14 -45;            \
69           }                             \
70           image {                       \
71               normal, "v_scrollbar_base.png"; \
72               border, 6 6 20 20;                \
73           }                             \
74         }                               \
75       }                                 \
76       part {                            \
77         name, NAME"_scrollbar_trough";  \
78         clip_to, CLIPTO;                \
79         type, RECT;                     \
80         mouse_events, 1;                \
81         description {                   \
82           state, "default" 0.0;         \
83           color, 192 192 192 0;         \
84           rel1 {                        \
85             to, NAME"_scrollbar_trough_img"; \
86             relative, 0.0 0.0;          \
87             offset, 0 0;                \
88           }                             \
89           rel2 {                        \
90             to, NAME"_scrollbar_trough_img";            \
91             relative, 1.0 1.0;          \
92             offset, 0 0;                \
93           }                             \
94         }                               \
95       }                                 \
96       part {                            \
97         name, NAME"_scrollbar";         \
98         clip_to, CLIPTO;                \
99         type, IMAGE;                    \
100         mouse_events, 1;                \
101         dragable {                      \
102             x, 0 0 0;                   \
103             y, 1 1 0;                   \
104             confine, NAME"_scrollbar_trough"; \
105         }                               \
106         description {                   \
107           state, "default" 0.0;         \
108           min, 11 35;           \
109           align, 0.5 0.5;       \
110           rel1 {                        \
111             relative, 0.5 0.0;          \
112             offset, 0 0;                \
113             to, NAME"_scrollbar_trough";\
114           }                             \
115           rel2 {                        \
116             relative, 0.5 0.0;          \
117             offset, 0 35;               \
118             to, NAME"_scrollbar_trough";\
119           }                             \
120           image {                       \
121               normal, "v_scrollbar.png"; \
122           }                             \
123         }                               \
124         description {                   \
125           state, "down" 0.0;            \
126           min, 11 35;                   \
127           rel1 {                        \
128             relative, 0.5 0.0;          \
129             offset, 0 0;                \
130             to, NAME"_scrollbar_trough";\
131           }                             \
132           rel2 {                        \
133             relative, 0.5 0.0;          \
134             offset, 0 35;               \
135             to, NAME"_scrollbar_trough";\
136           }                             \
137           image {                       \
138               normal, "v_scrollbar.png"; \
139           }                             \
140           color, 255 255 255 127;       \
141         }                               \
142       }                                 \
143       part {                            \
144         name, NAME"_back";              \
145         clip_to, CLIPTO;                \
146         description {                   \
147           state, "default" 0.0;         \
148           min, BW BH;                   \
149           max, BW BH;                   \
150           color, 255 255 255 127;       \
151           V_PREV_REL(NAME)              \
152           image {                       \
153             normal, BIMG;               \
154           }                             \
155         }                               \
156         description {                   \
157           state, "over" 0.0;            \
158           min, BW BH;                   \
159           max, BW BH;                   \
160           color, 255 255 255 255;       \
161           V_PREV_REL(NAME)              \
162           image {                       \
163             normal, BIMG;               \
164           }                             \
165         }                               \
166         description {                   \
167           state, "down" 0.0;            \
168           min, BW BH;                   \
169           max, BW BH;                   \
170           color, 255 255 255 255;       \
171           V_PREV_REL(NAME)              \
172           image {                       \
173             normal, BIMG2;              \
174           }                             \
175         }                               \
176       }                                 \
177       part {                            \
178         name, NAME"_next";              \
179         clip_to, CLIPTO;                \
180         description {                   \
181           state, "default" 0.0;         \
182           min, NW NH;                   \
183           max, NW NH;                   \
184           color, 255 255 255 127;       \
185           V_NEXT_REL(NAME)              \
186           image {                       \
187             normal, NIMG;               \
188           }                             \
189         }                               \
190         description {                   \
191           state, "over" 0.0;            \
192           min, NW NH;                   \
193           max, NW NH;                   \
194           color, 255 255 255 255;       \
195           V_NEXT_REL(NAME)              \
196           image {                       \
197             normal, NIMG;               \
198           }                             \
199         }                               \
200         description {                   \
201           state, "down" 0.0;            \
202           min, NW NH;                   \
203           max, NW NH;                   \
204           color, 255 255 255 255;       \
205           V_NEXT_REL(NAME)              \
206           image {                       \
207             normal, NIMG2;              \
208           }                             \
209         }                               \
210       }                                 \
211       part {                            \
212         name, NAME"_list";              \
213         clip_to, NAME"_list_clip";      \
214         type, RECT;                     \
215         mouse_events, 0;                \
216         description {                   \
217           state, "default" 0.0;         \
218           color, 255 0 0 0;             \
219           rel1 {                        \
220             to, NAME"_rect";            \
221             relative, 0.0 0.0;          \
222             offset, 15 30;              \
223           }                             \
224           rel2 {                        \
225             to, NAME"_rect";            \
226             relative, 1.0 1.0;          \
227             offset, -30 -30;            \
228           }                             \
229         }                               \
230       }                                 \
231       part {                            \
232         name, NAME"_list_clip";         \
233         clip_to, CLIPTO;                \
234         type, RECT;                     \
235         description {                   \
236           state, "default" 0.0;         \
237           color, 255 255 255 255;       \
238           rel1 {                        \
239             to, NAME"_rect";            \
240             relative, 0.0 0.0;          \
241             offset, 5 10;               \
242           }                             \
243           rel2 {                        \
244             to, NAME"_rect";            \
245             relative, 1.0 1.0;          \
246             offset, -15 -10;            \
247           }                             \
248         }                               \
249       }                                 \
250       part {                            \
251         name, NAME"_wheel_rect";        \
252         clip_to, CLIPTO;                \
253         type, RECT;                     \
254         mouse_events, 1;                \
255         repeat_events, 1;               \
256         description {                   \
257           state, "default" 0.0;         \
258           color, 255 0 0 0;             \
259           rel1 {                        \
260             to, REL1_TO;                \
261             relative, REL1_REL;         \
262             offset, REL1_OFF;           \
263           }                             \
264           rel2 {                        \
265             to, REL2_TO;                \
266             relative, REL2_REL;         \
267             offset, REL2_OFF;           \
268           }                             \
269         }                               \
270       }                                 
271
272 #define STEP_TIME 0.31
273 #define SCROLL_TIME 0.3
274
275 #define VPANEL_PROG(NAME, SIGBACK, SIGNEXT, SIGDRAG) \
276       program {                         \
277         name, NAME"_back-in";           \
278         signal, "mouse,in";             \
279         source, NAME"_back";            \
280         action, STATE_SET "over" 0.0;   \
281         transition, DECELERATE 0.5;     \
282         target, NAME"_back";            \
283       }                                 \
284       program {                         \
285         name, NAME"_back-out";          \
286         signal, "mouse,out";            \
287         source, NAME"_back";            \
288         action, STATE_SET "default" 0.0;\
289         transition, DECELERATE 0.5;     \
290         target, NAME"_back";            \
291       }                                 \
292       program {                         \
293         name, NAME"_back-down-1";       \
294         signal, "mouse,clicked,1";      \
295         source, NAME"_back";            \
296         action, DRAG_VAL_STEP -0.1 -0.1;\
297         target, NAME"_scrollbar";       \
298       }                                 \
299       program {                         \
300         name, NAME"_back-down-2";       \
301         signal, "mouse,clicked,1";              \
302         source, NAME"_back";            \
303         action, SIGNAL_EMIT SIGDRAG NAME"_scrollbar"; \
304       }                                 \
305       program {                         \
306         name, NAME"_next-in";           \
307         signal, "mouse,in";             \
308         source, NAME"_next";            \
309         action, STATE_SET "over" 0.0;   \
310         transition, DECELERATE 0.5;     \
311         target, NAME"_next";            \
312       }                                 \
313       program {                         \
314         name, NAME"_next-out";          \
315         signal, "mouse,out";            \
316         source, NAME"_next";            \
317         action, STATE_SET "default" 0.0;\
318         transition, DECELERATE 0.5;     \
319         target, NAME"_next";            \
320       }                                 \
321       program {                         \
322         name, NAME"_next-down-1";       \
323         signal, "mouse,clicked,1";              \
324         source, NAME"_next";            \
325         action, DRAG_VAL_STEP 0.0 0.1;  \
326         target, NAME"_scrollbar";       \
327       }                                 \
328       program {                         \
329         name, NAME"_next-down-2";       \
330         signal, "mouse,clicked,1";              \
331         source, NAME"_next";            \
332         action, SIGNAL_EMIT SIGDRAG NAME"_scrollbar"; \
333       }                                 \
334       program {                         \
335         name, NAME"_scrollbar_move";    \
336         signal, "drag";                 \
337         source, NAME"_scrollbar";       \
338         action, SIGNAL_EMIT SIGDRAG NAME"_scrollbar";   \
339       }                                 \
340       program {                         \
341         name, NAME"_scrollbar_mouse_up";\
342         signal, "mouse,up,1";           \
343         source, NAME"_scrollbar";       \
344         action, STATE_SET "default" 0.0;\
345         transition, DECELERATE 0.25;    \
346         target, NAME"_scrollbar";       \
347       }                                 \
348       program {                         \
349         name, NAME"_scrollbar_mouse_down";      \
350         signal, "mouse,down,1";         \
351         source, NAME"_scrollbar";       \
352         action, STATE_SET "down" 0.0;   \
353         transition, ACCELERATE 0.25;    \
354         target, NAME"_scrollbar";       \
355       }                                 \
356       program {                         \
357         name, NAME"_scrollbar_show";    \
358         signal, "show";                 \
359         source, "";                     \
360         action, DRAG_VAL_SET 0.0 0.0;   \
361         target, NAME"_scrollbar";       \
362       }                                 \
363       program {                         \
364         name, NAME"_scrollbar_mouse_wheel_up";  \
365         signal, "mouse,wheel,0,-1";             \
366         source, NAME"_wheel_rect";      \
367         action, DRAG_VAL_STEP -0.1 -0.1;\
368         target, NAME"_scrollbar";       \
369       }                                 \
370       program {                         \
371         name, NAME"_scrollbar_mouse_wheel_down";        \
372         signal, "mouse,wheel,0,1";              \
373         source, NAME"_wheel_rect";      \
374         action, DRAG_VAL_STEP 0.1 0.1;\
375         target, NAME"_scrollbar";       \
376       }                                 \
377       program {                         \
378         name, NAME"_scrollbar_mouse_wheel";     \
379         signal, "mouse,wheel,*";                        \
380         source, NAME"_wheel_rect";      \
381         action, SIGNAL_EMIT SIGDRAG NAME"_scrollbar";   \
382       }                                 
383 /*
384       program {                         \
385         name, NAME"_back-down_timer";   \
386         signal, "mouse,down,1";         \
387         source, NAME"_back";            \
388         action, SIGNAL_EMIT SIGBACK",start" NAME"_back";        \
389         in, SCROLL_TIME 0.0;                    \
390       }                                 \
391       program {                         \
392         name, NAME"_next-down_timer";   \
393         signal, "mouse,down,1";         \
394         source, NAME"_next";            \
395         action, SIGNAL_EMIT SIGNEXT",start" NAME"_next";        \
396         in, SCROLL_TIME 0.0;            \
397       }                                 \
398       program {                         \
399         name, NAME"_back-up_timer";     \
400         signal, "mouse,up,1";           \
401         source, NAME"_back";            \
402         action, SIGNAL_EMIT SIGBACK",stop" NAME"_back"; \
403       }                                 \
404       program {                         \
405         name, NAME"_next-up_timer";     \
406         signal, "mouse,up,1";           \
407         source, NAME"_next";            \
408         action, SIGNAL_EMIT SIGNEXT",stop" NAME"_next"; \
409       }                                 \
410 */