support waiting and held calls.
[profile/ivi/lemolo.git] / data / themes / includes / call.edc
1 group {
2    name: "elm/layout/dialer/call";
3
4    /*
5     * Represents the dialer ongoing voice call(s) screen.
6     *
7     * Parts:
8     *   TEXT: elm.text.name
9     *   TEXT: elm.text.status
10     *   TEXT: elm.text.elapsed
11     *   TEXT: elm.text.waiting
12     *   TEXT: elm.text.held
13     *
14     * Signals:
15     *   Emit (source is "call"):
16     *     pressed,<ID>:  key <ID> was pressed
17     *     released,<ID>: key <ID> was released
18     *     clicked,<ID>:  key <ID> was clicked (press and release in the key)
19     *   Listen (source is "call"):
20     *     show,answer:     show "answer" action
21     *     hide,answer:     hide "answer" action
22     *     show,waiting:    show call waiting popup (decline, hold+answer...)
23     *     hide,waiting:    hide call waiting popup
24     *     show,held:       show call held entry
25     *     hide,held:       hide call held entry
26     *     show,elapsed:    have elapsed (elm.text.elapsed) and should be visible
27     *     hide,elapsed:    don't have elapsed and it should be hidden
28     *     state,<STATE>:   state changed to <STATE>
29     *     disable,<ID>:    disable action <ID>
30     *     enable,<ID>:     enable action <ID>
31     *     toggle,on,<ID>:  mark toggle action <ID> as selected
32     *     toggle,off,<ID>: mark toggle action <ID> as unselected
33     *
34     * Messages:
35     *     1 - FLOAT: speaker volume 0.0-1.0
36     *     2 - FLOAT: microphone volume 0.0-1.0
37     *     3 - FLOAT: elapsed time in seconds (> 0.0)
38     *
39     * Where <ID> is: numbers 0 to 9, star, hash, mute, keypad, speaker,
40     * merge, swap, contacts, answer, hangup, waiting-hangup, hold-answer,
41     * hangup-answer.
42     *
43     * Where <STATE> is: disconnected, active, held, dialing, alerting,
44     * incoming, waiting.
45     */
46
47    min: 720 1280;
48
49    images {
50       image: "bg_call.jpg" COMP;
51       image: "bt_mute_pressed.png" COMP;
52       image: "bt_mute_released.png" COMP;
53       image: "bt_keypad_pressed.png" COMP;
54       image: "bt_keypad_released.png" COMP;
55       image: "bt_speaker_pressed.png" COMP;
56       image: "bt_speaker_released.png" COMP;
57       image: "bt_merge_pressed.png" COMP;
58       image: "bt_merge_released.png" COMP;
59       image: "bt_swap_pressed.png" COMP;
60       image: "bt_swap_released.png" COMP;
61       image: "bt_contacts_pressed.png" COMP;
62       image: "bt_contacts_released.png" COMP;
63    }
64
65    parts {
66       part {
67          name: "bg";
68          type: IMAGE;
69          mouse_events: 0;
70          description {
71             state: "default" 0.0;
72             color: 255 255 255 255;
73             color_class: "dark";
74             min: 720 1280;
75             image {
76                normal: "bg_call.jpg";
77                scale_hint: STATIC;
78             }
79             fill.smooth: 1;
80          }
81       }
82
83       part {
84          name: "elm.text.name";
85          type: TEXT;
86          mouse_events: 0;
87          scale: 1;
88          api: "name" "remote party call name";
89          description {
90             state: "default" 0.0;
91             color: 255 255 255 255;
92             color_class: "action";
93             min: 628 170;
94             rel1.offset: 46 0;
95             rel2 {
96                relative: 1.0 0.0;
97                offset: -47.0 169;
98             }
99             text {
100                text: "Gustavo Barbieri";
101                font: "Verdana";
102                size: 99;
103                size_range: 16 99;
104                fit: 1 1;
105                align: 0.0 0.5;
106                ellipsis: 0.0;
107             }
108          }
109       }
110
111       part {
112          name: "elm.text.status";
113          type: TEXT;
114          mouse_events: 0;
115          scale: 1;
116          api: "status" "call status";
117          description {
118             state: "default" 0.0;
119             color: 255 255 255 255;
120             color_class: "light";
121             fixed: 1 1;
122             align: 0.0 0.0;
123             rel1 {
124                to: "elm.text.name";
125                relative: 0.0 1.0;
126                offset: -1.0 -20;
127             }
128             rel2 {
129                to: "elm.text.name";
130                relative: 0.0 1.0;
131                offset: -1.0 -1;
132             }
133             text {
134                text: "calling...";
135                font: "Verdana";
136                size: 43;
137                min: 1 1;
138                align: 0.0 0.0;
139             }
140          }
141       }
142
143       part {
144          name: "elm.text.elapsed";
145          type: TEXT;
146          mouse_events: 0;
147          scale: 1;
148          api: "elapsed" "call elapsed time (formatted)";
149          description {
150             state: "default" 0.0;
151             color: 255 255 255 255;
152             color_class: "light";
153             fixed: 1 1;
154             align: 0.0 0.0;
155             rel1 {
156                to: "elm.text.status";
157                relative: 1.0 0.0;
158                offset: 32 0;
159             }
160             rel2 {
161                to: "elm.text.status";
162                relative: 1.0 1.0;
163                offset: 32 -1;
164             }
165             text {
166                text: "01:23";
167                font: "Verdana";
168                size: 43;
169                min: 1 1;
170                align: 0.0 0.0;
171             }
172          }
173       }
174
175 #define SEPARATOR(id, clip, rely, offy, relto)                          \
176       part {                                                            \
177          name: "separator.dark."##id;                                   \
178          type: RECT;                                                    \
179          mouse_events: 0;                                               \
180          clip_to: clip;                                                 \
181          description {                                                  \
182             state: "default" 0.0;                                       \
183             color: 255 255 255 255;                                     \
184             color_class: "dark";                                        \
185             rel1 {                                                      \
186                relative: 0.0 rely;                                      \
187                offset: 0 offy;                                          \
188                to_y: relto;                                             \
189             }                                                           \
190             rel2 {                                                      \
191                relative: 1.0 rely;                                      \
192                offset: -1 (offy + 4);                                   \
193                to_y: relto;                                             \
194             }                                                           \
195          }                                                              \
196       }                                                                 \
197       part {                                                            \
198          name: "separator.bg."##id;                                     \
199          type: RECT;                                                    \
200          mouse_events: 0;                                               \
201          clip_to: clip;                                                 \
202          description {                                                  \
203             state: "default" 0.0;                                       \
204             color: 255 255 255 255;                                     \
205             color_class: "bg";                                          \
206             rel1 {                                                      \
207                relative: 0.0 rely;                                      \
208                offset: 0 (offy + 4);                                    \
209                to_y: relto;                                             \
210             }                                                           \
211             rel2 {                                                      \
212                relative: 1.0 rely;                                      \
213                offset: -1 (offy + 8);                                   \
214                to_y: relto;                                             \
215             }                                                           \
216          }                                                              \
217       }
218
219       part {
220          name: "clipper.held";
221          type: RECT;
222          clip_to: "clipper.keypad-hidden";
223          description {
224             state: "default" 0.0;
225             color: 255 255 255 0;
226             color_class: "disabled";
227             visible: 0;
228          }
229          description {
230             state: "visible" 0.0;
231             inherit: "default" 0.0;
232             color: 255 255 255 255;
233             visible: 1;
234          }
235       }
236       part {
237          name: "elm.text.held";
238          type: TEXT;
239          mouse_events: 0;
240          scale: 1;
241          api: "held" "held party call name";
242          clip_to: "clipper.held";
243          description {
244             state: "default" 0.0;
245             color: 255 255 255 255;
246             color_class: "action";
247             min: 628 170;
248             rel1 {
249                to_y: "elm.text.status";
250                to_x: "elm.text.name";
251                relative: 0.0 1.0;
252                offset: 0 30;
253             }
254             rel2 {
255                to_y: "elm.text.status";
256                to_x: "elm.text.name";
257                relative: 1.0 1.0;
258                offset: -1 199;
259             }
260             text {
261                text: "Someone on hold";
262                font: "Verdana";
263                size: 99;
264                size_range: 16 99;
265                fit: 1 1;
266                align: 0.0 0.5;
267                ellipsis: 0.0;
268             }
269          }
270       }
271       part {
272          name: "label.held";
273          type: TEXT;
274          mouse_events: 0;
275          scale: 1;
276          clip_to: "clipper.held";
277          description {
278             state: "default" 0.0;
279             color: 255 255 255 255;
280             color_class: "light";
281             fixed: 1 1;
282             align: 0.0 0.0;
283             rel1 {
284                to: "elm.text.held";
285                relative: 0.0 1.0;
286                offset: -1.0 -20;
287             }
288             rel2 {
289                to: "elm.text.held";
290                relative: 0.0 1.0;
291                offset: -1.0 -1;
292             }
293             text {
294                text: "on hold";
295                font: "Verdana";
296                size: 43;
297                min: 1 1;
298                align: 0.0 0.0;
299             }
300          }
301       }
302
303       SEPARATOR("held1", "clipper.held", 0.0, -8, "elm.text.held");
304
305       programs {
306          program {
307             signal: "show,held";
308             source: "call";
309             action: STATE_SET "visible" 0.0;
310             transition: DECELERATE 0.3;
311             target: "clipper.held";
312             api: "held_show" "make held entry visible";
313          }
314          program {
315             signal: "hide,held";
316             source: "call";
317             action: STATE_SET "default" 0.0;
318             transition: ACCELERATE 0.3;
319             target: "clipper.held";
320             api: "held_hide" "make held entry hidden";
321          }
322       }
323
324
325       SEPARATOR("actions", "clipper.actions", 0.0, -8, "bg.actions");
326
327       part {
328          name: "bg.actions";
329          type: RECT;
330          mouse_events: 0;
331          clip_to: "clipper.keypad-hidden";
332          description {
333             state: "default" 0.0;
334             color: 0 0 0 0;
335             min: 720 340;
336             max: 720 99999; /* keep it tight centered */
337             fixed: 1 1;
338             rel1 {
339                to: "bg.buttons";
340                relative: 0.0 0.0;
341                offset: 0 -348;
342             }
343             rel2 {
344                to: "bg.buttons";
345                relative: 1.0 0.0;
346                offset: -1 -8;
347             }
348          }
349       }
350       part {
351          name: "clipper.actions";
352          type: RECT;
353          mouse_events: 0;
354          clip_to: "clipper.keypad-hidden";
355          description {
356             state: "default" 0.0;
357             color: 255 255 255 0;
358             visible: 0;
359          }
360          description {
361             state: "visible" 0.0;
362             inherit: "default" 0.0;
363             color: 255 255 255 255;
364             visible: 1;
365          }
366       }
367       programs {
368          program {
369             name: "show,actions";
370             action: STATE_SET "visible" 0.0;
371             transition: DECELERATE 0.3;
372             target: "clipper.actions";
373          }
374          program {
375             name: "hide,actions";
376             action: STATE_SET "default" 0.0;
377             transition: ACCELERATE 0.3;
378             target: "clipper.actions";
379          }
380
381          program {
382             signal: "state,disconnected";
383             source: "call";
384             after: "hide,actions";
385          }
386          program {
387             signal: "state,active";
388             source: "call";
389             after: "show,actions";
390          }
391          program {
392             signal: "state,held";
393             source: "call";
394             after: "show,actions";
395          }
396          program {
397             signal: "state,dialing";
398             source: "call";
399             after: "hide,actions";
400          }
401          program {
402             signal: "state,alerting";
403             source: "call";
404             after: "hide,actions";
405          }
406          program {
407             signal: "state,incoming";
408             source: "call";
409             after: "hide,actions";
410          }
411       }
412
413 #define ACTION_BUTTON(id, img, r1, r2)                                  \
414       part {                                                            \
415          name: "clipper."##id;                                          \
416          type: RECT;                                                    \
417          clip_to: "clipper.actions";                                    \
418          description {                                                  \
419             state: "default" 0.0;                                       \
420             color: 255 255 255 255;                                     \
421             rel1.to: "button."##id;                                     \
422             rel2.to: "button."##id;                                     \
423          }                                                              \
424          description {                                                  \
425             state: "disabled" 0.0;                                      \
426             inherit: "default" 0.0;                                     \
427             color_class: "disabled";                                    \
428          }                                                              \
429          description {                                                  \
430             state: "hidden" 0.0;                                        \
431             inherit: "default" 0.0;                                     \
432             color: 255 255 255 0;                                       \
433             visible: 0;                                                 \
434          }                                                              \
435       }                                                                 \
436       part {                                                            \
437          name: "button."##id;                                           \
438          type: IMAGE;                                                   \
439          mouse_events: 1;                                               \
440          clip_to: "clipper."##id;                                       \
441          description {                                                  \
442             state: "default" 0.0;                                       \
443             color: 255 255 255 255;                                     \
444             color_class: "action";                                      \
445             min: 240 170;                                               \
446             max: 240 170;                                               \
447             fixed: 1 1;                                                 \
448             rel1 {                                                      \
449                to: "bg.actions";                                        \
450                relative: r1;                                            \
451             }                                                           \
452             rel2 {                                                      \
453                to: "bg.actions";                                        \
454                relative: r2;                                            \
455                offset: -1 -1;                                           \
456             }                                                           \
457             image.normal: "bt_"##img"_released.png";                    \
458          }                                                              \
459          description {                                                  \
460             state: "pressed" 0.0;                                       \
461             inherit: "default" 0.0;                                     \
462             color: 255 255 255 0;                                       \
463             visible: 0;                                                 \
464          }                                                              \
465       }                                                                 \
466       part {                                                            \
467          name: "button.over."##id;                                      \
468          type: IMAGE;                                                   \
469          clip_to: "clipper."##id;                                       \
470          mouse_events: 0;                                               \
471          description {                                                  \
472             state: "default" 0.0;                                       \
473             color: 255 255 255 0;                                       \
474             visible: 0;                                                 \
475             color_class: "action";                                      \
476             rel1.to: "button."##id;                                     \
477             rel2.to: "button."##id;                                     \
478             image.normal: "bt_"##img"_pressed.png";                     \
479          }                                                              \
480          description {                                                  \
481             state: "pressed" 0.0;                                       \
482             inherit: "default" 0.0;                                     \
483             color: 255 255 255 255;                                     \
484             visible: 1;                                                 \
485          }                                                              \
486       }                                                                 \
487       part {                                                            \
488          name: "blocker."##id;                                          \
489          type: RECT;                                                    \
490          mouse_events: 1;                                               \
491          clip_to: "clipper."##id;                                       \
492          description {                                                  \
493             state: "default" 0.0;                                       \
494             color: 0 0 0 0;                                             \
495             visible: 0;                                                 \
496             rel1.to: "button."##id;                                     \
497             rel2.to: "button."##id;                                     \
498          }                                                              \
499          description {                                                  \
500             state: "disabled" 0.0;                                      \
501             inherit: "default" 0.0;                                     \
502             visible: 1;                                                 \
503          }                                                              \
504       }                                                                 \
505       programs {                                                        \
506          program {                                                      \
507             signal: "mouse,up,1";                                       \
508             source: "button."##id;                                      \
509             action: SIGNAL_EMIT "released,"##id "call";                 \
510             after: "show_up_"##id;                                      \
511             api: id"_released" id" was released";                       \
512          }                                                              \
513          program {                                                      \
514             name: "show_up_"##id;                                       \
515             action: STATE_SET "default" 0.0;                            \
516             transition: DECELERATE 0.1;                                 \
517             target: "button."##id;                                      \
518             target: "button.over."##id;                                 \
519          }                                                              \
520          program {                                                      \
521             signal: "mouse,down,1";                                     \
522             source: "button."##id;                                      \
523             after: "show_down_"##id;                                    \
524             action: SIGNAL_EMIT "pressed,"##id "call";                  \
525             api: id"_pressed" id" was pressed";                         \
526          }                                                              \
527          program {                                                      \
528             name: "show_down_"##id;                                     \
529             action: STATE_SET "pressed" 0.0;                            \
530             transition: ACCELERATE 0.1;                                 \
531             target: "button."##id;                                      \
532             target: "button.over."##id;                                 \
533          }                                                              \
534          program {                                                      \
535             signal: "mouse,clicked,1";                                  \
536             source: "button."##id;                                      \
537             action: SIGNAL_EMIT "clicked,"##id "call";                  \
538             api: id"_clicked" id" was clicked";                         \
539          }                                                              \
540          program {                                                      \
541             signal: "disable,"##id;                                     \
542             source: "call";                                             \
543             action: STATE_SET "disabled" 0.0;                           \
544             target: "blocker."##id;                                     \
545             target: "clipper."##id;                                     \
546             api: id"_disable" "disable "##id;                           \
547          }                                                              \
548          program {                                                      \
549             signal: "enable,"##id;                                      \
550             source: "call";                                             \
551             action: STATE_SET "default" 0.0;                            \
552             target: "blocker."##id;                                     \
553             target: "clipper."##id;                                     \
554             api: id"_enable" "enable "##id;                             \
555          }                                                              \
556       }
557
558 #define ACTION_TOGGLE(id, img, r1, r2)                                  \
559       part {                                                            \
560          name: "clipper."##id;                                          \
561          type: RECT;                                                    \
562          clip_to: "clipper.actions";                                    \
563          description {                                                  \
564             state: "default" 0.0;                                       \
565             color: 255 255 255 255;                                     \
566             rel1.to: "button."##id;                                     \
567             rel2.to: "button."##id;                                     \
568          }                                                              \
569          description {                                                  \
570             state: "disabled" 0.0;                                      \
571             inherit: "default" 0.0;                                     \
572             color_class: "disabled";                                    \
573          }                                                              \
574          description {                                                  \
575             state: "hidden" 0.0;                                        \
576             inherit: "default" 0.0;                                     \
577             color: 255 255 255 0;                                       \
578             visible: 0;                                                 \
579          }                                                              \
580       }                                                                 \
581       part {                                                            \
582          name: "button."##id;                                           \
583          type: IMAGE;                                                   \
584          mouse_events: 1;                                               \
585          clip_to: "clipper.toggle."##id;                                \
586          description {                                                  \
587             state: "default" 0.0;                                       \
588             color: 255 255 255 255;                                     \
589             color_class: "action";                                      \
590             min: 240 170;                                               \
591             max: 240 170;                                               \
592             fixed: 1 1;                                                 \
593             rel1 {                                                      \
594                to: "bg.actions";                                        \
595                relative: r1;                                            \
596             }                                                           \
597             rel2 {                                                      \
598                to: "bg.actions";                                        \
599                relative: r2;                                            \
600                offset: -1 -1;                                           \
601             }                                                           \
602             image.normal: "bt_"##img"_released.png";                    \
603          }                                                              \
604          description {                                                  \
605             state: "pressed" 0.0;                                       \
606             inherit: "default" 0.0;                                     \
607             color: 255 255 255 0;                                       \
608             visible: 0;                                                 \
609          }                                                              \
610       }                                                                 \
611       part {                                                            \
612          name: "button.over."##id;                                      \
613          type: IMAGE;                                                   \
614          clip_to: "clipper."##id;                                       \
615          description {                                                  \
616             state: "default" 0.0;                                       \
617             color: 255 255 255 0;                                       \
618             visible: 0;                                                 \
619             color_class: "action";                                      \
620             rel1.to: "button."##id;                                     \
621             rel2.to: "button."##id;                                     \
622             image.normal: "bt_"##img"_pressed.png";                     \
623          }                                                              \
624          description {                                                  \
625             state: "pressed" 0.0;                                       \
626             inherit: "default" 0.0;                                     \
627             color: 255 255 255 255;                                     \
628             visible: 1;                                                 \
629          }                                                              \
630       }                                                                 \
631       part {                                                            \
632          name: "clipper.toggle."##id;                                   \
633          type: RECT;                                                    \
634          clip_to: "clipper."##id;                                       \
635          mouse_events: 0;                                               \
636          description {                                                  \
637             state: "default" 0.0;                                       \
638             color: 255 255 255 255;                                     \
639             visible: 1;                                                 \
640          }                                                              \
641          description {                                                  \
642             state: "on" 0.0;                                            \
643             inherit: "default" 0.0;                                     \
644             color: 255 255 255 0;                                       \
645             visible: 0;                                                 \
646          }                                                              \
647       }                                                                 \
648       part {                                                            \
649          name: "button.toggle."##id;                                    \
650          type: IMAGE;                                                   \
651          clip_to: "clipper."##id;                                       \
652          mouse_events: 1;                                               \
653          description {                                                  \
654             state: "default" 0.0;                                       \
655             color: 255 255 255 0;                                       \
656             visible: 0;                                                 \
657             color_class: "action";                                      \
658             rel1.to: "button."##id;                                     \
659             rel2.to: "button."##id;                                     \
660             image.normal: "bt_"##img"_pressed.png";                     \
661          }                                                              \
662          description {                                                  \
663             state: "on" 0.0;                                            \
664             inherit: "default" 0.0;                                     \
665             color: 255 255 255 255;                                     \
666             visible: 1;                                                 \
667          }                                                              \
668       }                                                                 \
669       part {                                                            \
670          name: "blocker."##id;                                          \
671          type: RECT;                                                    \
672          mouse_events: 1;                                               \
673          clip_to: "clipper."##id;                                       \
674          description {                                                  \
675             state: "default" 0.0;                                       \
676             color: 0 0 0 0;                                             \
677             visible: 0;                                                 \
678             rel1.to: "button."##id;                                     \
679             rel2.to: "button."##id;                                     \
680          }                                                              \
681          description {                                                  \
682             state: "disabled" 0.0;                                      \
683             inherit: "default" 0.0;                                     \
684             visible: 1;                                                 \
685          }                                                              \
686       }                                                                 \
687       programs {                                                        \
688          program {                                                      \
689             signal: "mouse,up,1";                                       \
690             source: "button."##id;                                      \
691             action: SIGNAL_EMIT "released,"##id "call";                 \
692             api: id"_released" id" was released";                       \
693             after: "show_up_"##id;                                      \
694          }                                                              \
695          program {                                                      \
696             name: "show_up_"##id;                                       \
697             action: STATE_SET "default" 0.0;                            \
698             transition: DECELERATE 0.1;                                 \
699             target: "button."##id;                                      \
700             target: "button.over."##id;                                 \
701          }                                                              \
702          program {                                                      \
703             signal: "mouse,down,1";                                     \
704             source: "button."##id;                                      \
705             after: "show_down_"##id;                                    \
706             action: SIGNAL_EMIT "pressed,"##id "call";                  \
707             api: id"_pressed" id" was pressed";                         \
708          }                                                              \
709          program {                                                      \
710             name: "show_down_"##id;                                     \
711             action: STATE_SET "pressed" 0.0;                            \
712             transition: ACCELERATE 0.1;                                 \
713             target: "button."##id;                                      \
714             target: "button.over."##id;                                 \
715          }                                                              \
716          program {                                                      \
717             signal: "mouse,clicked,1";                                  \
718             source: "button."##id;                                      \
719             action: SIGNAL_EMIT "clicked,"##id "call";                  \
720             api: id"_clicked" id" was clicked";                         \
721          }                                                              \
722          program {                                                      \
723             signal: "mouse,clicked,1";                                  \
724             source: "button.toggle."##id;                               \
725             action: SIGNAL_EMIT "clicked,"##id "call";                  \
726             api: id"_clicked" id" was clicked";                         \
727          }                                                              \
728          program {                                                      \
729             signal: "disable,"##id;                                     \
730             source: "call";                                             \
731             action: STATE_SET "disabled" 0.0;                           \
732             target: "blocker."##id;                                     \
733             target: "clipper."##id;                                     \
734             api: id"_disable" "disable "##id;                           \
735          }                                                              \
736          program {                                                      \
737             signal: "enable,"##id;                                      \
738             source: "call";                                             \
739             action: STATE_SET "default" 0.0;                            \
740             target: "blocker."##id;                                     \
741             target: "clipper."##id;                                     \
742             api: id"_enable" "enable "##id;                             \
743          }                                                              \
744          program {                                                      \
745             signal: "toggle,on,"##id;                                   \
746             source: "call";                                             \
747             action: STATE_SET "on" 0.0;                                 \
748             target: "clipper.toggle."##id;                              \
749             target: "button.toggle."##id;                               \
750             api: id"_toggle_on" "toggle on "##id;                       \
751          }                                                              \
752          program {                                                      \
753             signal: "toggle,off,"##id;                                  \
754             source: "call";                                             \
755             action: STATE_SET "default" 0.0;                            \
756             target: "clipper.toggle."##id;                              \
757             target: "button.toggle."##id;                               \
758             api: id"_toggle_off" "toggle off "##id;                     \
759          }                                                              \
760       }
761
762       ACTION_TOGGLE("mute",    "mute",    0.000000000 0.0, 0.333333333 0.5);
763       ACTION_BUTTON("keypad",  "keypad",  0.333333333 0.0, 0.666666666 0.5);
764       ACTION_TOGGLE("speaker", "speaker", 0.666666666 0.0, 1.000000000 0.5);
765
766       ACTION_BUTTON("merge",    "merge",  0.000000000 0.5, 0.333333333 1.0);
767       ACTION_BUTTON("swap",     "swap",   0.333333333 0.5, 0.666666666 1.0);
768       ACTION_BUTTON("contacts", "contacts",0.666666666 0.5, 1.000000000 1.0);
769 #undef ACTION_BUTTON
770 #undef ACTION_TOGGLE
771
772       SEPARATOR("answer", "clipper.answer", 0.0, -8, "button.answer");
773       SEPARATOR("hangup", "", 0.0, -8, "button.hangup");
774
775       part {
776          name: "clipper.keypad-hidden";
777          type: RECT;
778          clip_to: "clipper.waiting-hidden";
779          description {
780             state: "default" 0.0;
781             color: 255 255 255 255;
782             visible: 1;
783          }
784          description {
785             state: "alternate" 0.0;
786             inherit: "default" 0.0;
787             color: 255 255 255 0;
788             visible: 0;
789          }
790       }
791       part {
792          name: "clipper.keypad-visible";
793          type: RECT;
794          clip_to: "clipper.waiting-hidden";
795          description {
796             state: "default" 0.0;
797             color: 255 255 255 0;
798             visible: 0;
799          }
800          description {
801             state: "alternate" 0.0;
802             inherit: "default" 0.0;
803             color: 255 255 255 255;
804             visible: 1;
805          }
806       }
807
808
809       /* keypad */
810       SEPARATOR("hide-keypad", "clipper.keypad-visible", 0.0, -8, "button.hide-keypad");
811       SEPARATOR("keypad", "clipper.keypad-visible", 0.0, -8, "bg.keypad");
812
813       part {
814          name: "bg.keypad";
815          type: RECT;
816          mouse_events: 0;
817          clip_to: "clipper.keypad-visible";
818          description {
819             state: "default" 0.0;
820             color: 0 0 0 0;
821             min: 720 680;
822             max: 720 680; /* keep it tight centered */
823             rel1 {
824                relative: 0.0 0.0;
825                offset: 0 -688; /* separator */
826                to_y: "button.hide-keypad";
827             }
828             rel2 {
829                relative: 1.0 0.0;
830                offset: 0 -9; /* separator */
831                to_y: "button.hide-keypad";
832             }
833          }
834       }
835 #define BUTTON(id, label, sub, ccls, r1, r2)                            \
836       part {                                                            \
837          name: "button."##id;                                           \
838          type: RECT;                                                    \
839          mouse_events: 1;                                               \
840          clip_to: "clipper.keypad-visible";                             \
841          description {                                                  \
842             state: "default" 0.0;                                       \
843             color: 255 255 255 0;                                       \
844             color_class: "action";                                      \
845             rel1 {                                                      \
846                to: "bg.keypad";                                         \
847                relative: r1;                                            \
848             }                                                           \
849             rel2 {                                                      \
850                to: "bg.keypad";                                         \
851                relative: r2;                                            \
852                offset: -2 -2;                                           \
853             }                                                           \
854          }                                                              \
855          description {                                                  \
856             state: "pressed" 0.0;                                       \
857             inherit: "default" 0.0;                                     \
858             color: 255 255 255 255;                                     \
859          }                                                              \
860       }                                                                 \
861       part {                                                            \
862          name: "label."##id;                                            \
863          type: TEXT;                                                    \
864          mouse_events: 0;                                               \
865          clip_to: "clipper.keypad-visible";                             \
866          description {                                                  \
867             state: "default" 0.0;                                       \
868             color: 255 255 255 255;                                     \
869             color_class: ccls;                                          \
870             rel1.to: "button."##id;                                     \
871             rel2 {                                                      \
872                to: "button."##id;                                       \
873                relative: 1.0 0.8;                                       \
874             }                                                           \
875             text {                                                      \
876                text: label;                                             \
877                font: "Verdana";                                         \
878                size: 99;                                                \
879                align: 0.5 0.5;                                          \
880             }                                                           \
881          }                                                              \
882          description {                                                  \
883             state: "pressed" 0.0;                                       \
884             inherit: "default" 0.0;                                     \
885             color: 16 16 16 255;                                        \
886          }                                                              \
887       }                                                                 \
888       part {                                                            \
889          name: "sub."##id;                                              \
890          type: TEXT;                                                    \
891          mouse_events: 0;                                               \
892          clip_to: "clipper.keypad-visible";                             \
893          description {                                                  \
894             state: "default" 0.0;                                       \
895             color: 255 255 255 255;                                     \
896             color_class: "light";                                       \
897             rel1 {                                                      \
898                to: "button."##id;                                       \
899                relative: 0.0 0.5;                                       \
900                offset: 0 2;                                             \
901             }                                                           \
902             rel2.to: "button."##id;                                     \
903             text {                                                      \
904                text: sub;                                               \
905                font: "Verdana:style=Bold";                              \
906                size: 16;                                                \
907                align: 0.5 0.5;                                          \
908             }                                                           \
909          }                                                              \
910          description {                                                  \
911             state: "pressed" 0.0;                                       \
912             inherit: "default" 0.0;                                     \
913             color: 16 16 16 255;                                        \
914          }                                                              \
915       }                                                                 \
916       programs {                                                        \
917          program {                                                      \
918             signal: "mouse,up,1";                                       \
919             source: "button."##id;                                      \
920             action: SIGNAL_EMIT "released,"##id "call";                 \
921             after: "show_up_"##id;                                      \
922             api: id"_released" id" was released";                       \
923          }                                                              \
924          program {                                                      \
925             name: "show_up_"##id;                                       \
926             action: STATE_SET "default" 0.0;                            \
927             transition: DECELERATE 0.1;                                 \
928             target: "button."##id;                                      \
929             target: "label."##id;                                       \
930             target: "sub."##id;                                         \
931          }                                                              \
932          program {                                                      \
933             signal: "mouse,down,1";                                     \
934             source: "button."##id;                                      \
935             after: "show_down_"##id;                                    \
936             action: SIGNAL_EMIT "pressed,"##id "call";                  \
937             api: id"_pressed" id" was pressed";                         \
938          }                                                              \
939          program {                                                      \
940             name: "show_down_"##id;                                     \
941             action: STATE_SET "pressed" 0.0;                            \
942             transition: ACCELERATE 0.3;                                 \
943             target: "button."##id;                                      \
944             target: "label."##id;                                       \
945             target: "sub."##id;                                         \
946          }                                                              \
947          program {                                                      \
948             signal: "mouse,clicked,1";                                  \
949             source: "button."##id;                                      \
950             action: SIGNAL_EMIT "clicked,"##id "call";                  \
951             api: id"_clicked" id" was clicked";                         \
952          }                                                              \
953       }
954
955       BUTTON("1",    "1",     "", "action", 0.000 0.0, 0.333 0.25);
956       BUTTON("2",    "2",  "ABC", "action", 0.333 0.0, 0.666 0.25);
957       BUTTON("3",    "3",  "DEF", "action", 0.666 0.0, 1.000 0.25);
958
959       BUTTON("4",    "4",  "GHI", "action", 0.000 0.25, 0.333 0.50);
960       BUTTON("5",    "5",  "JKL", "action", 0.333 0.25, 0.666 0.50);
961       BUTTON("6",    "6",  "MNO", "action", 0.666 0.25, 1.000 0.50);
962
963       BUTTON("7",    "7", "PQRS", "action", 0.000 0.50, 0.333 0.75);
964       BUTTON("8",    "8",  "TUV", "action", 0.333 0.50, 0.666 0.75);
965       BUTTON("9",    "9", "WXYZ", "action", 0.666 0.50, 1.000 0.75);
966
967       BUTTON("star", "*",     "", "light",  0.000 0.75, 0.333 1.00);
968       BUTTON("0",    "0",    "+", "action", 0.333 0.75, 0.666 1.00);
969       BUTTON("hash", "#",     "", "light",  0.666 0.75, 1.000 1.00);
970 #undef BUTTON
971
972       part {
973          name: "area.hide-keypad";
974          type: RECT;
975          mouse_events: 0;
976          clip_to: "clipper.keypad-visible";
977          description {
978             state: "default" 0.0;
979             color: 0 0 0 0;
980             visible: 0;
981             rel1 {
982                to_y: "button.hangup";
983                relative: 0.0 -1.0;
984                offset: 0 688;
985             }
986             rel2 {
987                to_y: "button.hangup";
988                relative: 1.0 0.0;
989                offset: -1 687;
990             }
991          }
992          description {
993             state: "alternate" 0.0;
994             inherit: "default" 0.0;
995             visible: 1;
996             rel1 {
997                to_y: "button.hangup";
998                relative: 0.0 -1.0;
999                offset: 0 -8; /* separator */
1000             }
1001             rel2 {
1002                to_y: "button.hangup";
1003                relative: 1.0 0.0;
1004                offset: -1 -9; /* separator */
1005             }
1006          }
1007       }
1008       part {
1009          name: "button.hide-keypad";
1010          type: RECT;
1011          mouse_events: 1;
1012          clip_to: "clipper.keypad-visible";
1013          description {
1014             state: "default" 0.0;
1015             color: 255 255 255 0;
1016             color_class: "action";
1017             rel1.to_y: "area.hide-keypad";
1018             rel2.to_y: "area.hide-keypad";
1019          }
1020          description {
1021             state: "pressed" 0.0;
1022             inherit: "default" 0.0;
1023             color: 255 255 255 255;
1024          }
1025       }
1026       part {
1027          name: "label.hide-keypad";
1028          type: TEXT;
1029          mouse_events: 0;
1030          clip_to: "clipper.keypad-visible";
1031          description {
1032             state: "default" 0.0;
1033             color: 255 255 255 255;
1034             color_class: "action";
1035             rel1.to: "button.hide-keypad";
1036             rel2.to: "button.hide-keypad";
1037             text {
1038                text: "Hide Keypad";
1039                font: "Verdana";
1040                size: 99;
1041                align: 0.5 0.5;
1042             }
1043          }
1044          description {
1045             state: "pressed" 0.0;
1046             inherit: "default" 0.0;
1047             color_class: "bg";
1048          }
1049       }
1050       programs {
1051          program {
1052             signal: "mouse,up,1";
1053             source: "button.hide-keypad";
1054             action: STATE_SET "default" 0.0;
1055             transition: DECELERATE 0.1;
1056             target: "button.hide-keypad";
1057             target: "label.hide-keypad";
1058          }
1059          program {
1060             signal: "mouse,down,1";
1061             source: "button.hide-keypad";
1062             action: STATE_SET "pressed" 0.0;
1063             transition: ACCELERATE 0.3;
1064             target: "button.hide-keypad";
1065             target: "label.hide-keypad";
1066          }
1067
1068          program {
1069             name: "hide-keypad-phase1";
1070             signal: "mouse,clicked,1";
1071             source: "button.hide-keypad";
1072             action: STATE_SET "default" 0.0;
1073             transition: ACCELERATE 0.3;
1074             target: "clipper.keypad-visible";
1075             target: "area.hide-keypad";
1076             after: "hide-keypad-phase2";
1077          }
1078          program {
1079             name: "hide-keypad-phase2";
1080             action: STATE_SET "default" 0.0;
1081             transition: ACCELERATE 0.3;
1082             target: "clipper.keypad-hidden";
1083          }
1084
1085          program {
1086             name: "show-keypad-phase1";
1087             signal: "mouse,clicked,1";
1088             source: "button.keypad";
1089             action: STATE_SET "alternate" 0.0;
1090             transition: ACCELERATE 0.3;
1091             target: "clipper.keypad-hidden";
1092             after: "show-keypad-phase2";
1093          }
1094          program {
1095             name: "show-keypad-phase2";
1096             action: STATE_SET "alternate" 0.0;
1097             transition: ACCELERATE 0.3;
1098             target: "area.hide-keypad";
1099             target: "clipper.keypad-visible";
1100          }
1101       }
1102
1103       /* buttons */
1104       part {
1105          name: "bg.buttons";
1106          type: RECT;
1107          mouse_events: 0;
1108          clip_to: "clipper.keypad-hidden";
1109          description {
1110             state: "default" 0.0;
1111             color: 0 0 0 0;
1112             rel1.to: "area.answer";
1113             rel2.to: "button.hangup";
1114          }
1115       }
1116
1117       part {
1118          name: "clipper.answer";
1119          type: RECT;
1120          mouse_events: 0;
1121          clip_to: "clipper.keypad-hidden";
1122          description {
1123             state: "default" 0.0;
1124             color: 255 255 255 0;
1125             visible: 0;
1126          }
1127          description {
1128             state: "visible" 0.0;
1129             inherit: "default" 0.0;
1130             color: 255 255 255 255;
1131             visible: 1;
1132          }
1133       }
1134       part {
1135          name: "area.answer";
1136          type: RECT;
1137          mouse_events: 0;
1138          clip_to: "clipper.answer";
1139          description {
1140             state: "default" 0.0;
1141             color: 0 0 0 0;
1142             visible: 0;
1143             rel1.to_y: "button.hangup";
1144             rel2.to_y: "button.hangup";
1145          }
1146          description {
1147             state: "visible" 0.0;
1148             inherit: "default" 0.0;
1149             visible: 1;
1150             rel1 {
1151                to_y: "button.hangup";
1152                relative: 0.0 -1.0;
1153                offset: 0 -8; /* separator */
1154             }
1155             rel2 {
1156                to_y: "button.hangup";
1157                relative: 1.0 0.0;
1158                offset: -1 -9; /* separator */
1159             }
1160          }
1161       }
1162       part {
1163          name: "button.answer";
1164          type: RECT;
1165          mouse_events: 1;
1166          clip_to: "clipper.answer";
1167          description {
1168             state: "default" 0.0;
1169             color: 255 255 255 0;
1170             color_class: "action";
1171             rel1.to_y: "area.answer";
1172             rel2.to_y: "area.answer";
1173          }
1174          description {
1175             state: "pressed" 0.0;
1176             inherit: "default" 0.0;
1177             color: 255 255 255 255;
1178          }
1179       }
1180       part {
1181          name: "label.answer";
1182          type: TEXT;
1183          mouse_events: 0;
1184          clip_to: "clipper.answer";
1185          description {
1186             state: "default" 0.0;
1187             color: 255 255 255 255;
1188             color_class: "action";
1189             rel1.to: "button.answer";
1190             rel2.to: "button.answer";
1191             text {
1192                text: "Answer";
1193                font: "Verdana";
1194                size: 99;
1195                align: 0.5 0.5;
1196             }
1197          }
1198          description {
1199             state: "pressed" 0.0;
1200             inherit: "default" 0.0;
1201             color_class: "bg";
1202          }
1203       }
1204       programs {
1205          program {
1206             signal: "mouse,up,1";
1207             source: "button.answer";
1208             action: SIGNAL_EMIT "released,answer" "call";
1209             after: "show_up_answer";
1210             api: "answer_released" "answer was released";
1211          }
1212          program {
1213             name: "show_up_answer";
1214             action: STATE_SET "default" 0.0;
1215             transition: DECELERATE 0.1;
1216             target: "button.answer";
1217             target: "label.answer";
1218          }
1219          program {
1220             signal: "mouse,down,1";
1221             source: "button.answer";
1222             after: "show_down_answer";
1223             action: SIGNAL_EMIT "pressed,answer" "call";
1224             api: "answer_pressed" "answer was pressed";
1225          }
1226          program {
1227             name: "show_down_answer";
1228             action: STATE_SET "pressed" 0.0;
1229             transition: ACCELERATE 0.3;
1230             target: "button.answer";
1231             target: "label.answer";
1232          }
1233          program {
1234             signal: "mouse,clicked,1";
1235             source: "button.answer";
1236             action: SIGNAL_EMIT "clicked,answer" "call";
1237             api: "answer_clicked" "answer was clicked";
1238          }
1239
1240          program {
1241             signal: "show,answer";
1242             source: "call";
1243             action: STATE_SET "visible" 0.0;
1244             target: "area.answer";
1245             target: "clipper.answer";
1246             api: "answer_show" "make answer button visible";
1247          }
1248          program {
1249             signal: "hide,answer";
1250             source: "call";
1251             action: STATE_SET "default" 0.0;
1252             target: "area.answer";
1253             target: "clipper.answer";
1254             api: "answer_hide" "make answer button hidden";
1255          }
1256       }
1257
1258       part {
1259          name: "button.hangup";
1260          type: RECT;
1261          mouse_events: 1;
1262          clip_to: "clipper.waiting-hidden";
1263          description {
1264             state: "default" 0.0;
1265             color: 255 255 255 255;
1266             color_class: "bg";
1267             rel1 {
1268                relative: 0.0 1.0;
1269                offset: 0 -170;
1270             }
1271             rel2 {
1272                relative: 1 1.0;
1273                offset: -1 -1;
1274             }
1275          }
1276          description {
1277             state: "pressed" 0.0;
1278             inherit: "default" 0.0;
1279             color_class: "caution";
1280          }
1281       }
1282       part {
1283          name: "label.hangup";
1284          type: TEXT;
1285          mouse_events: 0;
1286          clip_to: "clipper.waiting-hidden";
1287          description {
1288             state: "default" 0.0;
1289             color: 255 255 255 255;
1290             color_class: "caution";
1291             rel1.to: "button.hangup";
1292             rel2.to: "button.hangup";
1293             text {
1294                text: "Hangup";
1295                font: "Verdana";
1296                size: 99;
1297                align: 0.5 0.5;
1298             }
1299          }
1300          description {
1301             state: "pressed" 0.0;
1302             inherit: "default" 0.0;
1303             color_class: "bg";
1304          }
1305       }
1306       programs {
1307          program {
1308             signal: "mouse,up,1";
1309             source: "button.hangup";
1310             action: SIGNAL_EMIT "released,hangup" "call";
1311             api: "hangup_released" "hangup was released";
1312             after: "show_up_hangup";
1313          }
1314          program {
1315             name: "show_up_hangup";
1316             action: STATE_SET "default" 0.0;
1317             transition: DECELERATE 0.1;
1318             target: "button.hangup";
1319             target: "label.hangup";
1320          }
1321          program {
1322             signal: "mouse,down,1";
1323             source: "button.hangup";
1324             after: "show_down_hangup";
1325             action: SIGNAL_EMIT "pressed,hangup" "call";
1326             api: "hangup_pressed" "hangup was pressed";
1327          }
1328          program {
1329             name: "show_down_hangup";
1330             action: STATE_SET "pressed" 0.0;
1331             transition: ACCELERATE 0.3;
1332             target: "button.hangup";
1333             target: "label.hangup";
1334          }
1335          program {
1336             signal: "mouse,clicked,1";
1337             source: "button.hangup";
1338             action: SIGNAL_EMIT "clicked,hangup" "call";
1339             api: "hangup_clicked" "hangup was clicked";
1340          }
1341       }
1342
1343       /* waiting popup */
1344       part {
1345          name: "clipper.waiting-hidden";
1346          type: RECT;
1347          description {
1348             state: "default" 0.0;
1349             color: 255 255 255 255;
1350             visible: 1;
1351          }
1352          description {
1353             state: "alternate" 0.0;
1354             inherit: "default" 0.0;
1355             color: 255 255 255 0;
1356             visible: 0;
1357          }
1358       }
1359       part {
1360          name: "clipper.waiting-visible";
1361          type: RECT;
1362          description {
1363             state: "default" 0.0;
1364             color: 255 255 255 0;
1365             visible: 0;
1366          }
1367          description {
1368             state: "alternate" 0.0;
1369             inherit: "default" 0.0;
1370             color: 255 255 255 255;
1371             visible: 1;
1372          }
1373       }
1374       part {
1375          name: "area.waiting";
1376          type: RECT;
1377          mouse_events: 0;
1378          clip_to: "clipper.waiting-visible";
1379          description {
1380             state: "default" 0.0;
1381             color: 255 255 255 255;
1382             color_class: "bg";
1383             visible: 0;
1384             fixed: 1 1;
1385             min: 0 712;
1386             max: 99999 712;
1387             align: 0.5 1.0;
1388             rel1 {
1389                relative: 0.0 -1.0;
1390                offset: 0 0;
1391             }
1392             rel2 {
1393                relative: 1.0 1.0;
1394                offset: -1 712;
1395             }
1396          }
1397          description {
1398             state: "alternate" 0.0;
1399             inherit: "default" 0.0;
1400             visible: 1;
1401             rel1 {
1402                relative: 0.0 -1.0;
1403                offset: 0 -712;
1404             }
1405             rel2 {
1406                relative: 1.0 1.0;
1407                offset: -1 -1;
1408             }
1409          }
1410       }
1411
1412 #define BUTTON(id, label, colcls, y1, y2)                               \
1413       SEPARATOR(id, "clipper.waiting-visible", 0.0, -8, "button."##id); \
1414       part {                                                            \
1415          name: "button."##id;                                           \
1416          type: RECT;                                                    \
1417          mouse_events: 1;                                               \
1418          clip_to: "clipper.waiting-visible";                            \
1419          description {                                                  \
1420             state: "default" 0.0;                                       \
1421             color: 255 255 255 0;                                       \
1422             color_class: colcls;                                        \
1423             rel1 {                                                      \
1424                to: "area.waiting";                                      \
1425                relative: 0.0 0.0;                                       \
1426                offset: 0 y1;                                            \
1427             }                                                           \
1428             rel2 {                                                      \
1429                to: "area.waiting";                                      \
1430                relative: 1.0 0.0;                                       \
1431                offset: -1 y2;                                           \
1432             }                                                           \
1433          }                                                              \
1434          description {                                                  \
1435             state: "pressed" 0.0;                                       \
1436             inherit: "default" 0.0;                                     \
1437             color: 255 255 255 255;                                     \
1438          }                                                              \
1439       }                                                                 \
1440       part {                                                            \
1441          name: "label."##id;                                            \
1442          type: TEXT;                                                    \
1443          mouse_events: 0;                                               \
1444          clip_to: "clipper.waiting-visible";                            \
1445          description {                                                  \
1446             state: "default" 0.0;                                       \
1447             color: 255 255 255 255;                                     \
1448             color_class: colcls;                                        \
1449             rel1 {                                                      \
1450                to: "button."##id;                                       \
1451                offset: 46 0;                                            \
1452             }                                                           \
1453             rel2 {                                                      \
1454                to: "button."##id;                                       \
1455                offset: -47 -1;                                          \
1456             }                                                           \
1457             text {                                                      \
1458                text: label;                                             \
1459                font: "Verdana";                                         \
1460                size: 58;                                                \
1461                align: 0.5 0.5;                                          \
1462             }                                                           \
1463          }                                                              \
1464          description {                                                  \
1465             state: "pressed" 0.0;                                       \
1466             inherit: "default" 0.0;                                     \
1467             color_class: "bg";                                          \
1468          }                                                              \
1469       }                                                                 \
1470       programs {                                                        \
1471          program {                                                      \
1472             signal: "mouse,up,1";                                       \
1473             source: "button."##id;                                      \
1474             action: SIGNAL_EMIT "released,"##id "call";                 \
1475             api: id"_released" id" was released";                       \
1476             after: "show_up_"##id;                                      \
1477          }                                                              \
1478          program {                                                      \
1479             name: "show_up_"##id;                                       \
1480             action: STATE_SET "default" 0.0;                            \
1481             transition: DECELERATE 0.1;                                 \
1482             target: "button."##id;                                      \
1483             target: "label."##id;                                       \
1484          }                                                              \
1485          program {                                                      \
1486             signal: "mouse,down,1";                                     \
1487             source: "button."##id;                                      \
1488             after: "show_down_"##id;                                    \
1489             action: SIGNAL_EMIT "pressed,"##id "call";                  \
1490             api: id"_pressed" id" was pressed";                         \
1491          }                                                              \
1492          program {                                                      \
1493             name: "show_down_"##id;                                     \
1494             action: STATE_SET "pressed" 0.0;                            \
1495             transition: ACCELERATE 0.3;                                 \
1496             target: "button."##id;                                      \
1497             target: "label."##id;                                       \
1498          }                                                              \
1499          program {                                                      \
1500             signal: "mouse,clicked,1";                                  \
1501             source: "button."##id;                                      \
1502             action: SIGNAL_EMIT "clicked,"##id "call";                  \
1503             api: id"_clicked" id" was clicked";                         \
1504          }                                                              \
1505       }
1506
1507       BUTTON("waiting-hangup", "Decline", "action", 186, 355);
1508       BUTTON("hold-answer", "Hold + Answer", "action", 364, 533);
1509       BUTTON("hangup-answer", "Hangup + Answer", "caution", 542, 711);
1510 #undef BUTTON
1511
1512       SEPARATOR("waiting", "clipper.waiting-visible", 0.0, 0, "area.waiting");
1513       part {
1514          name: "elm.text.waiting";
1515          type: TEXT;
1516          mouse_events: 0;
1517          scale: 1;
1518          clip_to: "clipper.waiting-visible";
1519          api: "waiting" "waiting call name";
1520          description {
1521             state: "default" 0.0;
1522             color: 255 255 255 255;
1523             color_class: "disabled";
1524             rel1 {
1525                to: "area.waiting";
1526                offset: 46 8;
1527             }
1528             rel2 {
1529                to: "area.waiting";
1530                relative: 1.0 0.0;
1531                offset: -47.0 177;
1532             }
1533             text {
1534                text: "Someone";
1535                font: "Verdana";
1536                size: 99;
1537                size_range: 16 99;
1538                fit: 1 1;
1539                align: 0.0 0.5;
1540                ellipsis: 0.0;
1541             }
1542          }
1543       }
1544
1545       programs {
1546          program {
1547             name: "hide-waiting-phase1";
1548             signal: "hide,waiting";
1549             source: "call";
1550             action: STATE_SET "default" 0.0;
1551             transition: ACCELERATE 0.3;
1552             target: "clipper.waiting-visible";
1553             target: "area.waiting";
1554             after: "hide-waiting-phase2";
1555             api: "waiting_hide" "make waiting popup hidden";
1556          }
1557          program {
1558             name: "hide-waiting-phase2";
1559             action: STATE_SET "default" 0.0;
1560             transition: ACCELERATE 0.3;
1561             target: "clipper.waiting-hidden";
1562          }
1563
1564          program {
1565             name: "show-waiting-phase1";
1566             signal: "show,waiting";
1567             source: "call";
1568             action: STATE_SET "alternate" 0.0;
1569             transition: ACCELERATE 0.3;
1570             target: "clipper.waiting-hidden";
1571             after: "show-waiting-phase2";
1572             api: "waiting_show" "make waiting popup visible";
1573          }
1574          program {
1575             name: "show-waiting-phase2";
1576             action: STATE_SET "alternate" 0.0;
1577             transition: ACCELERATE 0.3;
1578             target: "area.waiting";
1579             target: "clipper.waiting-visible";
1580          }
1581       }
1582
1583 #undef SEPARATOR
1584    }
1585
1586 }