Handle broadcast_playlist_loaded.
[euphoria.git] / data / themes / winter / macros / macros.inc
1 /* yeah. i know. this file is messy right now. still playing with things... */
2
3 #define BUTTON(NAME, IMG, IMG2, W, H, REL1_TO, REL1_REL, REL1_OFF, REL2_TO, REL2_REL, REL2_OFF) \
4       part {                            \
5         name, NAME;                     \
6         description {                   \
7           state, "default" 0.0;         \
8           min, W H;                     \
9           max, W H;                     \
10           color, 255 255 255 127;       \
11           rel1 {                        \
12             to, REL1_TO;                \
13             relative, REL1_REL;         \
14             offset, REL1_OFF;           \
15           }                             \
16           rel2 {                        \
17             to, REL2_TO;                \
18             relative, REL2_REL;         \
19             offset, REL2_OFF;           \
20           }                             \
21           image {                       \
22             normal, IMG;                \
23           }                             \
24         }                               \
25         description {                   \
26           state, "over" 0.0;            \
27           min, W H;                     \
28           max, W H;                     \
29           color, 255 255 255 255;       \
30           rel1 {                        \
31             to, REL1_TO;                \
32             relative, REL1_REL;         \
33             offset, REL1_OFF;           \
34           }                             \
35           rel2 {                        \
36             to, REL2_TO;                \
37             relative, REL2_REL;         \
38             offset, REL2_OFF;           \
39           }                             \
40           image {                       \
41             normal, IMG;                \
42           }                             \
43         }                               \
44         description {                   \
45           state, "down" 0.0;            \
46           min, W H;                     \
47           max, W H;                     \
48           color, 255 255 255 255;       \
49           rel1 {                        \
50             to, REL1_TO;                \
51             relative, REL1_REL;         \
52             offset, REL1_OFF;           \
53           }                             \
54           rel2 {                        \
55             to, REL2_TO;                \
56             relative, REL2_REL;         \
57             offset, REL2_OFF;           \
58           }                             \
59           image {                       \
60             normal, IMG2;               \
61           }                             \
62         }                               \
63       }                                 
64
65
66 #define BUTTON_PROG(NAME, SIG)          \
67       program {                         \
68         name, NAME"-in";                \
69         signal, "mouse,in";             \
70         source, NAME;                   \
71         action, STATE_SET "over" 0.0;   \
72         transition, DECELERATE 0.5;     \
73         target, NAME;                   \
74       }                                 \
75       program {                         \
76         name, NAME"-out";               \
77         signal, "mouse,out";            \
78         source, NAME;                   \
79         action, STATE_SET "default" 0.0;\
80         transition, DECELERATE 0.5;     \
81         target, NAME;                   \
82       }                                 \
83       program {                         \
84         name, NAME"-clicked";           \
85         signal, "mouse,clicked,1";              \
86         source, NAME;                   \
87         action, SIGNAL_EMIT SIG NAME;   \
88       }                                 \
89       program {                         \
90         name, NAME"-down2";             \
91         signal, "mouse,down,1";         \
92         source, NAME;                   \
93         action, STATE_SET "down" 0.0;   \
94         transition, LINEAR 0.0; \
95         target, NAME;                   \
96       }                                 \
97       program {                         \
98         name, NAME"-up";                \
99         signal, "mouse,up,1";           \
100         source, NAME;                   \
101         action, STATE_SET "over" 0.0;   \
102         transition, LINEAR 0.0; \
103         target, NAME;                   \
104       }                                 \
105
106
107
108
109 #define BUTTON2(NAME, IMG, IMG2, IMG3, W, H, REL1_TO, REL1_REL, REL1_OFF, REL2_TO, REL2_REL, REL2_OFF) \
110       part {                            \
111         name, NAME;                     \
112         description {                   \
113           state, "default" 0.0;         \
114           min, W H;                     \
115           max, W H;                     \
116           color, 255 255 255 255;       \
117           rel1 {                        \
118             to, REL1_TO;                \
119             relative, REL1_REL;         \
120             offset, REL1_OFF;           \
121           }                             \
122           rel2 {                        \
123             to, REL2_TO;                \
124             relative, REL2_REL;         \
125             offset, REL2_OFF;           \
126           }                             \
127           image {                       \
128             normal, IMG;                \
129           }                             \
130         }                               \
131         description {                   \
132           state, "over" 0.0;            \
133           min, W H;                     \
134           max, W H;                     \
135           color, WINTER_COLOR;  \
136           rel1 {                        \
137             to, REL1_TO;                \
138             relative, REL1_REL;         \
139             offset, REL1_OFF;           \
140           }                             \
141           rel2 {                        \
142             to, REL2_TO;                \
143             relative, REL2_REL;         \
144             offset, REL2_OFF;           \
145           }                             \
146           image {                       \
147             normal, IMG;                \
148           }                             \
149         }                               \
150         description {                   \
151           state, "down" 0.0;            \
152           min, W H;                     \
153           max, W H;                     \
154           color, WINTER_COLOR;  \
155           rel1 {                        \
156             to, REL1_TO;                \
157             relative, REL1_REL;         \
158             offset, REL1_OFF;           \
159           }                             \
160           rel2 {                        \
161             to, REL2_TO;                \
162             relative, REL2_REL;         \
163             offset, REL2_OFF;           \
164           }                             \
165           image {                       \
166             normal, IMG2;               \
167           }                             \
168         }                               \
169       }                                 \
170       part {                            \
171         name, NAME"-border";            \
172         mouse_events, 0;                \
173         description {                   \
174           state, "default" 0.0;         \
175           min, W H;                     \
176           max, W H;                     \
177           color, 255 255 255 255;       \
178           rel1 {                        \
179             to, REL1_TO;                \
180             relative, REL1_REL;         \
181             offset, REL1_OFF;           \
182           }                             \
183           rel2 {                        \
184             to, REL2_TO;                \
185             relative, REL2_REL;         \
186             offset, REL2_OFF;           \
187           }                             \
188           image {                       \
189             normal, IMG3;               \
190           }                             \
191         }                               \
192       }         
193
194
195
196
197
198
199
200
201 #define BUTTON_PROG2(NAME, P1, P2, P3, P4, P5, SIG) \
202       program {                         \
203         name, P1;                       \
204         signal, "mouse,in";             \
205         source, NAME;                   \
206         action, STATE_SET "over" 0.0;   \
207         transition, DECELERATE 0.25;    \
208         target, NAME;                   \
209       }                                 \
210       program {                         \
211         name, P2;                       \
212         signal, "mouse,out";            \
213         source, NAME;                   \
214         action, STATE_SET "default" 0.0;\
215         transition, DECELERATE 0.25;    \
216         target, NAME;                   \
217       }                                 \
218       program {                         \
219         name, P3;                       \
220         signal, "mouse,up,1";           \
221         source, NAME;                   \
222         action, SIGNAL_EMIT SIG NAME;   \
223       }                                 \
224       program {                         \
225         name, P4;                       \
226         signal, "mouse,down,1";         \
227         source, NAME;                   \
228         action, STATE_SET "down" 0.0;   \
229         transition, LINEAR 0.0; \
230         target, NAME;                   \
231       }                                 \
232       program {                         \
233         name, P5;                       \
234         signal, "mouse,up,1";           \
235         source, NAME;                   \
236         action, STATE_SET "over" 0.0;   \
237         transition, LINEAR 0.0; \
238         target, NAME;                   \
239       }                                 \
240
241
242
243 #define BUTTON_CLIPPED(NAME, IMG, IMG2, W, H, REL1_TO, REL1_REL, REL1_OFF, REL2_TO, REL2_REL, REL2_OFF, CLIP)\
244       part {                            \
245         name, NAME;                     \
246         clip_to, CLIP;                  \
247         description {                   \
248           state, "default" 0.0;         \
249           min, W H;                     \
250           max, W H;                     \
251           color, 255 255 255 127;       \
252           rel1 {                        \
253             to, REL1_TO;                \
254             relative, REL1_REL;         \
255             offset, REL1_OFF;           \
256           }                             \
257           rel2 {                        \
258             to, REL2_TO;                \
259             relative, REL2_REL;         \
260             offset, REL2_OFF;           \
261           }                             \
262           image {                       \
263             normal, IMG;                \
264           }                             \
265         }                               \
266         description {                   \
267           state, "over" 0.0;            \
268           min, W H;                     \
269           max, W H;                     \
270           color, 255 255 255 255;       \
271           rel1 {                        \
272             to, REL1_TO;                \
273             relative, REL1_REL;         \
274             offset, REL1_OFF;           \
275           }                             \
276           rel2 {                        \
277             to, REL2_TO;                \
278             relative, REL2_REL;         \
279             offset, REL2_OFF;           \
280           }                             \
281           image {                       \
282             normal, IMG;                \
283           }                             \
284         }                               \
285         description {                   \
286           state, "down" 0.0;            \
287           min, W H;                     \
288           max, W H;                     \
289           color, 255 255 255 255;       \
290           rel1 {                        \
291             to, REL1_TO;                \
292             relative, REL1_REL;         \
293             offset, REL1_OFF;           \
294           }                             \
295           rel2 {                        \
296             to, REL2_TO;                \
297             relative, REL2_REL;         \
298             offset, REL2_OFF;           \
299           }                             \
300           image {                       \
301             normal, IMG2;               \
302           }                             \
303         }                               \
304       }                                 
305
306
307
308 #define BUTTON_PROG3(NAME, SIG_DN, SIG_UP)\
309       program {                         \
310         name, NAME"-in";                \
311         signal, "mouse,in";             \
312         source, NAME;                   \
313         action, STATE_SET "over" 0.0;   \
314         transition, DECELERATE 0.5;     \
315         target, NAME;                   \
316       }                                 \
317       program {                         \
318         name, NAME"-out";               \
319         signal, "mouse,out";            \
320         source, NAME;                   \
321         action, STATE_SET "default" 0.0;\
322         transition, DECELERATE 0.5;     \
323         target, NAME;                   \
324       }                                 \
325       program {                         \
326         name, NAME"-down1";             \
327         signal, "mouse,down,1";         \
328         source, NAME;                   \
329         action, SIGNAL_EMIT SIG_DN NAME;        \
330       }                                 \
331       program {                         \
332         name, NAME"-down2";             \
333         signal, "mouse,down,1";         \
334         source, NAME;                   \
335         action, STATE_SET "down" 0.0;   \
336         transition, LINEAR 0.0; \
337         target, NAME;                   \
338       }                                 \
339       program {                         \
340         name, NAME"-up1";               \
341         signal, "mouse,up,1";           \
342         source, NAME;                   \
343         action, SIGNAL_EMIT SIG_UP NAME;        \
344       }                                 \
345       program {                         \
346         name, NAME"-up2";               \
347         signal, "mouse,up,1";           \
348         source, NAME;                   \
349         action, STATE_SET "over" 0.0;   \
350         transition, LINEAR 0.0; \
351         target, NAME;                   \
352       }                                 \
353
354
355
356
357 #define TOG_BUTTON(NAME, NAME2, IMG, IMG2, IMG3, IMG4, W, H, REL1_TO, REL1_REL, REL1_OFF, REL2_TO, REL2_REL, REL2_OFF) \
358       part {                            \
359         name, NAME;                     \
360         description {                   \
361           state, "default" 0.0;         \
362           min, W H;                     \
363           max, W H;                     \
364           color, 255 255 255 127;       \
365           rel1 {                        \
366             to, REL1_TO;                \
367             relative, REL1_REL;         \
368             offset, REL1_OFF;           \
369           }                             \
370           rel2 {                        \
371             to, REL2_TO;                \
372             relative, REL2_REL;         \
373             offset, REL2_OFF;           \
374           }                             \
375           image {                       \
376             normal, IMG;                \
377           }                             \
378         }                               \
379         description {                   \
380           state, "toggled" 0.0;         \
381           min, W H;                     \
382           max, W H;                     \
383           visible, 0;                   \
384           color, 255 255 255 127;       \
385           rel1 {                        \
386             to, REL1_TO;                \
387             relative, REL1_REL;         \
388             offset, REL1_OFF;           \
389           }                             \
390           rel2 {                        \
391             to, REL2_TO;                \
392             relative, REL2_REL;         \
393             offset, REL2_OFF;           \
394           }                             \
395           image {                       \
396             normal, IMG;                \
397           }                             \
398         }                               \
399         description {                   \
400           state, "over" 0.0;            \
401           min, W H;                     \
402           max, W H;                     \
403           color, 255 255 255 255;       \
404           rel1 {                        \
405             to, REL1_TO;                \
406             relative, REL1_REL;         \
407             offset, REL1_OFF;           \
408           }                             \
409           rel2 {                        \
410             to, REL2_TO;                \
411             relative, REL2_REL;         \
412             offset, REL2_OFF;           \
413           }                             \
414           image {                       \
415             normal, IMG;                \
416           }                             \
417         }                               \
418         description {                   \
419           state, "down" 0.0;            \
420           min, W H;                     \
421           max, W H;                     \
422           color, 255 255 255 255;       \
423           rel1 {                        \
424             to, REL1_TO;                \
425             relative, REL1_REL;         \
426             offset, REL1_OFF;           \
427           }                             \
428           rel2 {                        \
429             to, REL2_TO;                \
430             relative, REL2_REL;         \
431             offset, REL2_OFF;           \
432           }                             \
433           image {                       \
434             normal, IMG2;               \
435           }                             \
436         }                               \
437       }                                 \
438       part {                            \
439         name, NAME2;                    \
440         description {                   \
441           state, "default" 0.0;         \
442           min, W H;                     \
443           max, W H;                     \
444           visible, 0;                   \
445           color, 255 255 255 0;         \
446           rel1 {                        \
447             to, REL1_TO;                \
448             relative, REL1_REL;         \
449             offset, REL1_OFF;           \
450           }                             \
451           rel2 {                        \
452             to, REL2_TO;                \
453             relative, REL2_REL;         \
454             offset, REL2_OFF;           \
455           }                             \
456           image {                       \
457             normal, IMG3;               \
458           }                             \
459         }                               \
460         description {                   \
461           state, "toggled" 0.0;         \
462           min, W H;                     \
463           max, W H;                     \
464           color, 255 255 255 127;       \
465           rel1 {                        \
466             to, REL1_TO;                \
467             relative, REL1_REL;         \
468             offset, REL1_OFF;           \
469           }                             \
470           rel2 {                        \
471             to, REL2_TO;                \
472             relative, REL2_REL;         \
473             offset, REL2_OFF;           \
474           }                             \
475           image {                       \
476             normal, IMG3;               \
477           }                             \
478         }                               \
479         description {                   \
480           state, "over" 0.0;            \
481           min, W H;                     \
482           max, W H;                     \
483           color, 255 255 255 255;       \
484           rel1 {                        \
485             to, REL1_TO;                \
486             relative, REL1_REL;         \
487             offset, REL1_OFF;           \
488           }                             \
489           rel2 {                        \
490             to, REL2_TO;                \
491             relative, REL2_REL;         \
492             offset, REL2_OFF;           \
493           }                             \
494           image {                       \
495             normal, IMG3;               \
496           }                             \
497         }                               \
498         description {                   \
499           state, "down" 0.0;            \
500           min, W H;                     \
501           max, W H;                     \
502           color, 255 255 255 255;       \
503           rel1 {                        \
504             to, REL1_TO;                \
505             relative, REL1_REL;         \
506             offset, REL1_OFF;           \
507           }                             \
508           rel2 {                        \
509             to, REL2_TO;                \
510             relative, REL2_REL;         \
511             offset, REL2_OFF;           \
512           }                             \
513           image {                       \
514             normal, IMG4;               \
515           }                             \
516         }                               \
517       }                 
518
519
520 #define TOG_BUTTON_PROG(NAME, NAME2, SIG, SIG2) \
521       program {                         \
522         name, NAME"-in";                \
523         signal, "mouse,in";             \
524         source, NAME;                   \
525         action, STATE_SET "over" 0.0;   \
526         transition, DECELERATE 0.5;     \
527         target, NAME;                   \
528       }                                 \
529       program {                         \
530         name, NAME"-out";               \
531         signal, "mouse,out";            \
532         source, NAME;                   \
533         action, STATE_SET "default" 0.0;\
534         transition, DECELERATE, 0.5;    \
535         target, NAME;                   \
536       }                                 \
537       program {                         \
538         name, NAME"-down1";             \
539         signal, "mouse,up,1";           \
540         source, NAME;                   \
541         action, SIGNAL_EMIT SIG NAME;   \
542       }                                 \
543       program {                         \
544         name, NAME"-down2";             \
545         signal, "mouse,down,1";         \
546         source, NAME;                   \
547         action, STATE_SET "down" 0.0    \
548         transition, LINEAR, 0.0;        \
549         target, NAME;                   \
550       }                                 \
551       program {                         \
552         name, NAME"-up";                \
553         signal, "mouse,up,1";           \
554         source, NAME;                   \
555         action, STATE_SET "over" 0.0    \
556         transition, LINEAR, 0.0;        \
557         target, NAME;                   \
558       }                                 \
559       program {                         \
560         name, NAME2"-in";               \
561         signal, "mouse,in";             \
562         source, NAME2;                  \
563         action, STATE_SET "over" 0.0;   \
564         transition, DECELERATE 0.5;     \
565         target, NAME2;                  \
566       }                                 \
567       program {                         \
568         name, NAME2"-out";              \
569         signal, "mouse,out";            \
570         source, NAME2;                  \
571         action, STATE_SET "toggled" 0.0;\
572         transition, DECELERATE, 0.5;    \
573         target, NAME2;                  \
574       }                                 \
575       program {                         \
576         name, NAME2"-up1";              \
577         signal, "mouse,up,1";           \
578         source, NAME2;                  \
579         action, SIGNAL_EMIT SIG NAME2;  \
580       }                                 \
581       program {                         \
582         name, NAME2"-down2";            \
583         signal, "mouse,down,1";         \
584         source, NAME2;                  \
585         action, STATE_SET "down" 0.0    \
586         transition, LINEAR, 0.0;        \
587         target, NAME2;                  \
588       }                                 \
589       program {                         \
590         name, NAME2"-up";               \
591         signal, "mouse,up,1";           \
592         source, NAME2;                  \
593         action, STATE_SET "over" 0.0    \
594         transition, LINEAR, 0.0;        \
595         target, NAME2;                  \
596       }                                 \
597       program {                         \
598         name, NAME"-toggle";            \
599         signal, "mouse,clicked,1";              \
600         source, NAME;                   \
601         action, STATE_SET "toggled" 0.0;        \
602         transition, LINEAR 0.0; \
603         target, NAME;                   \
604         target, NAME2;                  \
605       }                                 \
606       program {                         \
607         name, NAME2"-toggle";           \
608         signal, "mouse,clicked,1";              \
609         source, NAME2;                  \
610         action, STATE_SET "default" 0.0;        \
611         transition, LINEAR 0.0; \
612         target, NAME;                   \
613         target, NAME2;                  \
614       }                                 \
615
616
617
618 #define TEST_BUTTON_PROG(NAME, NAME2, SIG, SIG2) \
619       program {                         \
620         name, NAME"-toggle";            \
621         signal, "mouse,clicked,1";              \
622         source, NAME;                   \
623         action, STATE_SET "toggled" 0.0;        \
624         transition, LINEAR 0.0; \
625         target, NAME;                   \
626         target, NAME2;                  \
627       }                                 \
628       program {                         \
629         name, NAME2"-toggle";           \
630         signal, "mouse,clicked,1";              \
631         source, NAME2;                  \
632         action, STATE_SET "default" 0.0;        \
633         transition, LINEAR 0.0; \
634         target, NAME;                   \
635         target, NAME2;                  \
636       } 
637
638