[Progressbar]: when any heavy UI operation is done like changing font
[platform/core/uifw/efl-theme-tizen.git] / themes / widgets / progressbar.edc
1 /*
2  * efl-theme-tizen
3  * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4  *
5  * Licensed under the Apache License, Version 2.0 (the License);
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an AS IS BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17
18
19
20 ///////////////////////////////////////////////////////////////////////////////////////
21
22    group { name: "elm/progressbar/horizontal/default";
23       alias: "elm/progressbar/horizontal/list_progress";
24       images {
25          image: "00_progress_bg.png" COMP;
26          image: "00_progress_bar.png" COMP;
27       }
28       parts {
29          part { name: "access";
30             type: RECT;
31             description { state: "default" 0.0;
32                fixed: 1 1;
33                color: 0 0 0 0;
34             }
35          }
36          part { name: "elm.padding.left";
37             type: RECT;
38             scale: 1;
39             description {
40                state: "default" 0.0;
41                min: 0 0;
42                fixed: 1 0;
43                rel1 {
44                   relative: 0.0  0.0;
45                   offset: 0 0;
46                }
47                rel2 {
48                   relative: 0.0  1.0;
49                   offset: 0 0;
50                }
51                visible: 0;
52                align: 0.0 0.0;
53             }
54          }
55          part { name: "elm.padding.right";
56             type: RECT;
57             scale: 1;
58             description {
59                state: "default" 0.0;
60                min: 0 0;
61                fixed: 1 0;
62                rel1 {
63                   relative: 1.0  0.0;
64                   offset: 0 0;
65                }
66                rel2 {
67                   relative: 1.0  1.0;
68                   offset:   0   0;
69                }
70                visible: 0;
71                align: 1.0 0.0;
72             }
73          }
74          part { name: "elm.background.progressbar";
75             type: RECT;
76             mouse_events: 0;
77             scale: 1;
78             description {
79                state: "default" 0.0;
80                rel1 {
81                   to_x: "elm.padding.left";
82                   relative: 1.0 0.0;
83                   offset: 0 0;
84                }
85                rel2 {
86                   to_x: "elm.padding.right";
87                   relative: 0.0 1.0;
88                   offset: 0 0;
89                }
90             }
91          }
92          part { name: "elm.swallow.bar";
93             mouse_events: 0;
94             scale: 1;
95             type: SWALLOW;
96             description {
97                min: 1 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
98                max: 99999 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
99                state: "default" 0.0;
100                rel1 {
101                   to: "elm.background.progressbar";
102                   relative: 0.0 0.0;
103                }
104                rel2 {
105                   to: "elm.background.progressbar";
106                   relative: 1.0 1.0;
107                }
108             }
109          }
110          part { name: "elm.swallow.content";
111             type: SWALLOW;
112             scale: 1;
113             description { state: "default" 0.0;
114                visible: 0;
115                align: 0.0 0.5;
116                rel1 {
117                   offset: 0 0;
118                   to_y: "elm.background.progressbar";
119                }
120                rel2 {
121                   offset: 0 -1;
122                   relative: 0.0 1.0;
123                   to_y: "elm.background.progressbar";
124                }
125             }
126             description { state: "visible" 0.0;
127                inherit: "default" 0.0;
128                visible: 1;
129                aspect: 1.0 1.0;
130                aspect_preference: VERTICAL;
131                rel2.offset: 4 -1;
132             }
133          }
134          part { name: "elm.text";
135             type: TEXT;
136             mouse_events: 0;
137             scale: 1;
138             description { state: "default" 0.0;
139                visible: 0;
140                fixed: 1 1;
141                align: 0.0 0.5;
142                rel1.to_x: "elm.swallow.content";
143                rel1.relative: 1.0 0.0;
144                rel2.to_x: "elm.swallow.content";
145                rel2.relative: 1.0 1.0;
146                color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
147                text {
148                   font: "Tizen:style=Medium";
149                   size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
150                   min: 0 0;
151                   align: 0.0 0.5;
152                   text_class: "tizen";
153                }
154             }
155             description { state: "visible" 0.0;
156                inherit: "default" 0.0;
157                visible: 0;
158                text.min: 1 1;
159             }
160          }
161          part { name: "background";
162             mouse_events: 0;
163             scale: 1;
164             clip_to: "elm.background.progressbar";
165             description {
166                state: "default" 0.0;
167                rel1 {
168                   to: "elm.swallow.bar";
169                   relative: 0.0 0.0;
170                }
171                rel2 {
172                   to: "elm.swallow.bar";
173                   relative: 1.0 1.0;
174                }
175                image {
176                   normal: "00_progress_bg.png";
177                   border: PROGRESS_BG_IMAGE_BORDER_INC;
178                   border_scale: 1;
179                }
180             }
181          }
182          part { name: "elm.text.status";
183             type: TEXT;
184             mouse_events: 0;
185             scale: 1;
186             description { state: "default" 0.0;
187                fixed: 1 1;
188                visible: 0;
189                rel1 {
190                   to: "background";
191                   relative: 0.5 0.5;
192                }
193                rel2 {
194                   to: "background";
195                   relative: 0.5 0.5;
196                }
197                text {
198                   font: "Tizen:style=Medium";
199                   size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
200                   min: 0 0;
201                   align: 0.5 0.0;
202                   text_class: "tizen";
203                }
204                color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
205             }
206             description { state: "show" 0.0;
207                inherit: "default" 0.0;
208                visible: 0;
209                text.min: 1 1;
210             }
211          }
212          part {
213             name: "bar.image.left.padding";
214             type: RECT;
215             scale: 1;
216             description {
217                state: "default" 0.0;
218                visible: 0;
219                min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
220                max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
221                fixed: 1 0;
222                rel1.to: "elm.swallow.bar";
223                rel2 {
224                   relative: 0.0  1.0;
225                   to: "elm.swallow.bar";
226                }
227                align: 0.0 0.5;
228             }
229          }
230          part {
231             name: "bar.image.right.padding";
232             type: RECT;
233             scale: 1;
234             description {
235                state: "default" 0.0;
236                visible: 0;
237                min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
238                max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
239                fixed: 1 0;
240                rel1 {
241                   relative: 1.0  0.0;
242                   to: "elm.swallow.bar";
243                }
244                rel2.to: "elm.swallow.bar";
245                align: 1.0 0.5;
246             }
247          }
248          part { name: "drag.background";
249             mouse_events: 0;
250             type: RECT;
251             scale: 1;
252             clip_to: "elm.background.progressbar";
253             description {
254                state: "default" 0.0;
255                visible: 0;
256                rel1 {
257                   to_x: "bar.image.left.padding";
258                   to_y: "elm.swallow.bar";
259                   relative: 1.0 0.0;
260                }
261                rel2 {
262                   to_x: "bar.image.right.padding";
263                   to_y: "elm.swallow.bar";
264                   relative: 0.0 1.0;
265                }
266             }
267          }
268          part { name: "elm.progress.progressbar";
269             mouse_events: 0;
270             scale: 1;
271             clip_to: "elm.background.progressbar";
272             description {
273                state: "default" 0.0;
274                min: 0 0;
275                fixed: 1 1;
276                rel1 {
277                   to_x: "bar.image.left.padding";
278                   to_y: "elm.swallow.bar";
279                   relative: 1.0 0.0;
280                }
281                rel2 {
282                   to_y: "elm.swallow.bar";
283                   to_x: "elm.cur.progressbar";
284                   offset: -1 -1;
285                }
286                image {
287                   normal: "00_progress_bar.png";
288                   border: PROGRESS_BAR_IMAGE_BORDER_INC;
289                   border_scale: 1;
290                }
291             }
292             description {
293                state: "invert" 0.0;
294                inherit: "default" 0.0;
295                rel1 {
296                   to_y: "elm.swallow.bar";
297                   to_x: "elm.cur.progressbar";
298                }
299                rel2 {
300                   to_y: "elm.swallow.bar";
301                   to_x: "bar.image.right.padding";
302                   relative: 1.0 0.0;
303                }
304             }
305             description {
306                state: "state_begin" 0.0;
307                inherit: "default" 0.0;
308                rel1 {
309                   to: "elm.swallow.bar";
310                   relative: 0.0 0.0;
311                }
312                rel2 {
313                   to: "elm.swallow.bar";
314                   relative: 0.1 1.0;
315                }
316             }
317             description {
318                state: "state_end" 0.0;
319                inherit: "default" 0.0;
320                rel1 {
321                   to: "elm.swallow.bar";
322                   relative: 0.9 0.0;
323                }
324                rel2 {
325                   to: "elm.swallow.bar";
326                   relative: 1.0 1.0;
327                }
328             }
329          }
330          part { name: "text-bar";
331             type: TEXT;
332             mouse_events: 0;
333             scale: 1;
334             clip_to: "progress-rect";
335             //effect: SOFT_SHADOW;
336             scale: 0;
337             description { state: "default" 0.0;
338                align: 0.0 0.0;
339                fixed: 1 1;
340                visible: 0;
341                rel1.to: "elm.text.status";
342                rel1.offset: -1 -1;
343                rel2.to: "elm.text.status";
344                text {
345                   text_source: "elm.text.status";
346                   font: "Tizen:style=Medium";
347                   size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
348                   min: 0 0;
349                   align: 0.0 0.0;
350                   text_class: "tizen";
351                }
352                color: PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC;
353             }
354             description { state: "show" 0.0;
355                inherit: "default" 0.0;
356                visible: 0;
357                text.min: 1 1;
358             }
359          }
360          part { name: "elm.cur.progressbar";
361             mouse_events: 0;
362             scale: 1;
363             dragable {
364                confine: "drag.background";
365                x: 1 1 1;
366                y: 0 0 0;
367             }
368             description { state: "default" 0.0;
369                min: 0 28;
370                fixed: 1 1;
371                visible: 0;
372                rel1.to: "drag.background";
373                rel2.to: "drag.background";
374            }
375          }
376          part { name: "progress-rect";
377             type: RECT;
378             mouse_events: 0;
379             scale: 1;
380             description {
381                state: "default" 0.0;
382                rel1.to: "elm.progress.progressbar";
383                rel2.to: "elm.progress.progressbar";
384             }
385          }
386       }
387       programs {
388          program { name: "label_show";
389             signal: "elm,state,text,visible";
390             source: "elm";
391             action:  STATE_SET "visible" 0.0;
392             target: "elm.text";
393          }
394          program { name: "label_hide";
395             signal: "elm,state,text,hidden";
396             source: "elm";
397             action:  STATE_SET "default" 0.0;
398             target: "elm.text";
399          }
400          program { name: "icon_show";
401             signal: "elm,state,icon,visible";
402             source: "elm";
403             action:  STATE_SET "visible" 0.0;
404             target: "elm.swallow.content";
405          }
406          program { name: "icon_hide";
407             signal: "elm,state,icon,hidden";
408             source: "elm";
409             action:  STATE_SET "default" 0.0;
410             target: "elm.swallow.content";
411          }
412          program { name: "units_show";
413             signal: "elm,state,units,visible";
414             source: "elm";
415             action:  STATE_SET "show" 0.0;
416             target: "text-bar";
417             target: "elm.text.status";
418          }
419          program { name: "units_hide";
420             signal: "elm,state,units,hidden";
421             source: "elm";
422             action:  STATE_SET "default" 0.0;
423             target: "text-bar";
424             target: "elm.text.status";
425          }
426          program { name: "slide_to_end";
427             action:  STATE_SET "state_end" 0.0;
428             transition: LINEAR 0.5;
429             target: "elm.progress.progressbar";
430             after: "slide_to_begin";
431          }
432          program { name: "slide_to_begin";
433             signal: "elm,state,slide,begin";
434             action: STATE_SET "state_begin" 0.0;
435             target: "elm.progress.progressbar";
436             transition: LINEAR 0.5;
437             after: "slide_to_end";
438          }
439          program { name: "start_pulse";
440             signal: "elm,state,pulse,start";
441             source: "elm";
442            // after: "slide_to_end";
443          }
444          program { name: "stop_pulse";
445             signal: "elm,state,pulse,stop";
446             source: "elm";
447             action: ACTION_STOP;
448             target: "slide_to_begin";
449             target: "slide_to_end";
450             target: "start_pulse";
451             //after: "state_pulse";
452          }
453          program { name: "state_pulse";
454             signal: "elm,state,pulse";
455             source: "elm";
456             action: STATE_SET "state_begin" 0.0;
457             target: "elm.progress.progressbar";
458             after: "units_hide";
459          }
460          program { name: "state_fraction";
461             signal: "elm,state,fraction";
462             source: "elm";
463             action: ACTION_STOP;
464             target: "slide_to_begin";
465             target: "slide_to_end";
466             target: "start_pulse";
467             action: STATE_SET "default" 0.0;
468             target: "elm.progress.progressbar";
469          }
470          program { name: "set_invert_on";
471             signal: "elm,state,inverted,on";
472             source: "elm";
473             action:  STATE_SET "invert" 0.0;
474             target: "elm.progress.progressbar";
475          }
476          program { name: "set_invert_off";
477             signal: "elm,state,inverted,off";
478             source: "elm";
479             action:  STATE_SET "default" 0.0;
480             target: "elm.progress.progressbar";
481          }
482       }
483    }
484
485    group { name: "elm/progressbar/horizontal/list_title_progress";
486       images {
487          image: "00_progress_bg.png" COMP;
488          image: "00_progress_bar.png" COMP;
489       }
490       parts {
491          part { name: "access";
492             type: RECT;
493             description { state: "default" 0.0;
494                fixed: 1 1;
495                color: 0 0 0 0;
496             }
497          }
498          part { name: "base";
499             type: RECT;
500             scale: 1;
501             description {
502                state: "default" 0.0;
503                visible: 0;
504                rel1 { relative: 0.0  0.0; }
505                rel2 { relative: 1.0  1.0; }
506                color: 0 0 0 0;
507             }
508          }
509          part { name: "elm.padding.left";
510             type: RECT;
511             scale: 1;
512             description {
513                state: "default" 0.0;
514                min: 0 82;
515                visible: 0;
516                fixed: 1 0;
517                rel1 { relative: 0.0  0.0; to: "base"; }
518                rel2 { relative: 0.0  1.0; to: "base"; }
519                color: 0 0 0 0;
520                align: 0.0 0.0;
521             }
522          }
523          part { name: "elm.padding.right";
524             type: RECT;
525             scale: 1;
526             description {
527                state: "default" 0.0;
528                min: 0 82;
529                visible: 0;
530                fixed: 1 0;
531                rel1 { relative: 1.0  0.0; to: "base"; }
532                rel2 { relative: 1.0  1.0; to: "base"; }
533                color: 0 0 0 0;
534                align: 1.0 0.0;
535             }
536          }
537          part {
538             name: "elm.padding.top";
539             type: RECT;
540             scale: 1;
541             mouse_events: 0;
542             description { state: "default" 0.0;
543                align: 0.0 0.0;
544                min: 100 1;
545                visible: 0;
546                fixed: 0 1;
547                rel1 { relative: 0.0  0.0; to: "base"; }
548                rel2 { relative: 1.0  0.0; to: "base"; }
549                color: 0 0 0 0;
550             }
551          }
552          part {
553             name: "elm.padding.bottom";
554             type: RECT;
555             scale: 1;
556             mouse_events: 0;
557             description { state: "default" 0.0;
558                align: 1.0 1.0;
559                min: 100 1;
560                visible: 0;
561                fixed: 0 1;
562                rel1 { relative: 0.0  1.0; to: "base"; }
563                rel2 { relative: 1.0  1.0; to: "base"; }
564                color: 0 0 0 0;
565             }
566          }
567          part {
568             name: "label_rect";
569             type: RECT;
570             scale: 1;
571             mouse_events: 0;
572             description { state: "default" 0.0;
573                visible: 1;
574                min: 460 56;
575                fixed: 0 1;
576                rel1 { relative: 1.0 1.0; to_x: "elm.padding.left"; to_y: "elm.padding.top"; }
577                rel2 { relative: 0.0 0.0; to_x: "elm.padding.right"; }
578                align: 0.0 0.0;
579                color: 0 0 0 0;
580             }
581          }
582          part { name: "elm.background.progressbar";
583             type: RECT;
584             mouse_events: 0;
585             scale: 1;
586             description {
587                state: "default" 0.0;
588                rel1 {
589                   to_x: "elm.padding.left";
590                   to_y: "label_rect";
591                   relative: 1.0 1.0;
592                   offset: 0 0;
593                }
594                rel2 {
595                   to_x: "elm.padding.right";
596                   relative: 0.0 1.0;
597                   offset: 0 0;
598                }
599             }
600          }
601          part { name: "elm.swallow.bar";
602             mouse_events: 0;
603             scale: 1;
604             type: SWALLOW;
605             description {
606                min: 1 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
607                max: 99999 PROGRESSBAR_LIST_PROGRESS_HEIGHT_INC;
608                state: "default" 0.0;
609                rel1 {
610                   to: "elm.background.progressbar";
611                   relative: 0.0 0.0;
612                }
613                rel2 {
614                   to: "elm.background.progressbar";
615                   relative: 1.0 1.0;
616                }
617             }
618          }
619          part { name: "elm.swallow.content";
620             type: SWALLOW;
621             scale: 1;
622             description { state: "default" 0.0;
623                visible: 0;
624                align: 0.0 0.5;
625                rel1 {
626                   offset: 0 0;
627                   to_y: "elm.background.progressbar";
628                }
629                rel2 {
630                   offset: 0 -1;
631                   relative: 0.0 1.0;
632                   to_y: "elm.background.progressbar";
633                }
634             }
635             description { state: "visible" 0.0;
636                inherit: "default" 0.0;
637                visible: 1;
638                aspect: 1.0 1.0;
639                aspect_preference: VERTICAL;
640                rel2.offset: 4 -1;
641             }
642          }
643          part { name: "elm.text";
644             type: TEXT;
645             mouse_events: 0;
646             scale: 1;
647             description { state: "default" 0.0;
648                visible: 1;
649                fixed: 1 1;
650                align: 0.0 0.5;
651                rel1.to: "label_rect";
652                rel2.to: "label_rect";
653                color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
654                text {
655                   font: "Tizen:style=Medium";
656                   size: PROGRESSBAR_TITLE_FONT_SIZE_INC;
657                   min: 0 0;
658                   align: 0.0 0.5;
659                   text_class: "tizen";
660                }
661             }
662             description { state: "visible" 0.0;
663                inherit: "default" 0.0;
664                visible: 1;
665                text.min: 1 1;
666             }
667          }
668          part { name: "background";
669             mouse_events: 0;
670             scale: 1;
671             clip_to: "elm.background.progressbar";
672             description {
673                state: "default" 0.0;
674                rel1 {
675                   to: "elm.swallow.bar";
676                   relative: 0.0 0.0;
677                }
678                rel2 {
679                   to: "elm.swallow.bar";
680                   relative: 1.0 1.0;
681                }
682                image {
683                   normal: "00_progress_bg.png";
684                   border: PROGRESS_BG_IMAGE_BORDER_INC;
685                   border_scale: 1;
686                }
687             }
688          }
689          part { name: "elm.text.status";
690             type: TEXT;
691             mouse_events: 0;
692             scale: 1;
693             description { state: "default" 0.0;
694                fixed: 1 1;
695                visible: 0;
696                rel1 {
697                   to: "background";
698                   relative: 0.5 0.5;
699                }
700                rel2 {
701                   to: "background";
702                   relative: 0.5 0.5;
703                }
704                text {
705                   font: "Tizen:style=Medium";
706                   size: PROGRESSBAR_TITLE_FONT_SIZE_INC;
707                   min: 0 0;
708                   align: 0.5 0.0;
709                   text_class: "tizen";
710                }
711                color: PROGRESSBAR_LIST_PROGRESS_STYLE_TEXT_COLOR_INC;
712             }
713             description { state: "show" 0.0;
714                inherit: "default" 0.0;
715                visible: 0;
716                text.min: 1 1;
717             }
718          }
719          part {
720             name: "bar.image.left.padding";
721             type: RECT;
722             scale: 1;
723             description {
724                state: "default" 0.0;
725                visible: 0;
726                min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
727                max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
728                fixed: 1 0;
729                rel1.to: "elm.swallow.bar";
730                rel2 {
731                   relative: 0.0  1.0;
732                   to: "elm.swallow.bar";
733                }
734                align: 0.0 0.5;
735             }
736          }
737          part {
738             name: "bar.image.right.padding";
739             type: RECT;
740             scale: 1;
741             description {
742                state: "default" 0.0;
743                visible: 0;
744                min: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
745                max: PROGRESS_BAR_IMAGE_PADDING_SIZE_INC;
746                fixed: 1 0;
747                rel1 {
748                   relative: 1.0  0.0;
749                   to: "elm.swallow.bar";
750                }
751                rel2.to: "elm.swallow.bar";
752                align: 1.0 0.5;
753             }
754          }
755          part { name: "drag.background";
756             mouse_events: 0;
757             type: RECT;
758             scale: 1;
759             clip_to: "elm.background.progressbar";
760             description {
761                state: "default" 0.0;
762                visible: 0;
763                rel1 {
764                   to_x: "bar.image.left.padding";
765                   to_y: "elm.swallow.bar";
766                   relative: 1.0 0.0;
767                }
768                rel2 {
769                   to_x: "bar.image.right.padding";
770                   to_y: "elm.swallow.bar";
771                   relative: 0.0 1.0;
772                }
773             }
774          }
775          part { name: "elm.progress.progressbar";
776             mouse_events: 0;
777             scale: 1;
778             clip_to: "elm.background.progressbar";
779             description {
780                state: "default" 0.0;
781                min: 0 0;
782                fixed: 1 1;
783                rel1 {
784                   to_x: "bar.image.left.padding";
785                   to_y: "elm.swallow.bar";
786                   relative: 1.0 0.0;
787                }
788                rel2 {
789                   to_y: "elm.swallow.bar";
790                   to_x: "elm.cur.progressbar";
791                   offset: -1 -1;
792                }
793                image {
794                   normal: "00_progress_bar.png";
795                   border: PROGRESS_BAR_IMAGE_BORDER_INC;
796                   border_scale: 1;
797                }
798             }
799             description {
800                state: "invert" 0.0;
801                inherit: "default" 0.0;
802                rel1 {
803                   to_y: "elm.swallow.bar";
804                   to_x: "elm.cur.progressbar";
805                }
806                rel2 {
807                   to_y: "elm.swallow.bar";
808                   to_x: "bar.image.right.padding";
809                   relative: 1.0 0.0;
810                }
811             }
812             description {
813                state: "state_begin" 0.0;
814                inherit: "default" 0.0;
815                rel1 {
816                   to: "elm.swallow.bar";
817                   relative: 0.0 0.0;
818                }
819                rel2 {
820                   to: "elm.swallow.bar";
821                   relative: 0.1 1.0;
822                }
823             }
824             description {
825                state: "state_end" 0.0;
826                inherit: "default" 0.0;
827                rel1 {
828                   to: "elm.swallow.bar";
829                   relative: 0.9 0.0;
830                }
831                rel2 {
832                   to: "elm.swallow.bar";
833                   relative: 1.0 1.0;
834                }
835             }
836          }
837          part { name: "text-bar";
838             type: TEXT;
839             mouse_events: 0;
840             scale: 1;
841             clip_to: "progress-rect";
842             //effect: SOFT_SHADOW;
843             scale: 0;
844             description { state: "default" 0.0;
845                align: 0.0 0.0;
846                fixed: 1 1;
847                visible: 0;
848                rel1.to: "elm.text.status";
849                rel1.offset: -1 -1;
850                rel2.to: "elm.text.status";
851                text {
852                   text_source: "elm.text.status";
853                   font: "Tizen:style=Medium";
854                   size: PROGRESSBAR_STATUS_TEXT_FONT_SIZE_INC;
855                   min: 0 0;
856                   align: 0.0 0.0;
857                   text_class: "tizen";
858                }
859                color: PROGRESSBAR_LIST_PROGRESS_STYLE_STATUS_TEXT_COLOR_INC;
860             }
861             description { state: "show" 0.0;
862                inherit: "default" 0.0;
863                visible: 0;
864                text.min: 1 1;
865             }
866          }
867          part { name: "elm.cur.progressbar";
868             mouse_events: 0;
869             scale: 1;
870             dragable {
871                confine: "drag.background";
872                x: 1 1 1;
873                y: 0 0 0;
874             }
875             description { state: "default" 0.0;
876                min: 0 28;
877                fixed: 1 1;
878                visible: 0;
879                rel1.to: "drag.background";
880                rel2.to: "drag.background";
881             }
882          }
883          part { name: "progress-rect";
884             type: RECT;
885             mouse_events: 0;
886             scale: 1;
887             description {
888                state: "default" 0.0;
889                rel1.to: "elm.progress.progressbar";
890                rel2.to: "elm.progress.progressbar";
891             }
892          }
893       }
894       programs {
895          program { name: "label_show";
896             signal: "elm,state,text,visible";
897             source: "elm";
898             action:  STATE_SET "visible" 0.0;
899             target: "elm.text";
900          }
901          program { name: "label_hide";
902             signal: "elm,state,text,hidden";
903             source: "elm";
904             action:  STATE_SET "default" 0.0;
905             target: "elm.text";
906          }
907          program { name: "icon_show";
908             signal: "elm,state,icon,visible";
909             source: "elm";
910             action:  STATE_SET "visible" 0.0;
911             target: "elm.swallow.content";
912          }
913          program { name: "icon_hide";
914             signal: "elm,state,icon,hidden";
915             source: "elm";
916             action:  STATE_SET "default" 0.0;
917             target: "elm.swallow.content";
918          }
919          program { name: "units_show";
920             signal: "elm,state,units,visible";
921             source: "elm";
922             action:  STATE_SET "show" 0.0;
923             target: "text-bar";
924             target: "elm.text.status";
925          }
926          program { name: "units_hide";
927             signal: "elm,state,units,hidden";
928             source: "elm";
929             action:  STATE_SET "default" 0.0;
930             target: "text-bar";
931             target: "elm.text.status";
932          }
933          program { name: "slide_to_end";
934             action:  STATE_SET "state_end" 0.0;
935             transition: LINEAR 0.5;
936             target: "elm.progress.progressbar";
937             after: "slide_to_begin";
938          }
939          program { name: "slide_to_begin";
940             signal: "elm,state,slide,begin";
941             action: STATE_SET "state_begin" 0.0;
942             target: "elm.progress.progressbar";
943             transition: LINEAR 0.5;
944             after: "slide_to_end";
945          }
946          program { name: "start_pulse";
947             signal: "elm,state,pulse,start";
948             source: "elm";
949            // after: "slide_to_end";
950          }
951          program { name: "stop_pulse";
952             signal: "elm,state,pulse,stop";
953             source: "elm";
954             action: ACTION_STOP;
955             target: "slide_to_begin";
956             target: "slide_to_end";
957             target: "start_pulse";
958             //after: "state_pulse";
959          }
960          program { name: "state_pulse";
961             signal: "elm,state,pulse";
962             source: "elm";
963             action: STATE_SET "state_begin" 0.0;
964             target: "elm.progress.progressbar";
965             after: "units_hide";
966          }
967          program { name: "state_fraction";
968             signal: "elm,state,fraction";
969             source: "elm";
970             action: ACTION_STOP;
971             target: "slide_to_begin";
972             target: "slide_to_end";
973             target: "start_pulse";
974             action: STATE_SET "default" 0.0;
975             target: "elm.progress.progressbar";
976          }
977          program { name: "set_invert_on";
978             signal: "elm,state,inverted,on";
979             source: "elm";
980             action:  STATE_SET "invert" 0.0;
981             target: "elm.progress.progressbar";
982          }
983          program { name: "set_invert_off";
984             signal: "elm,state,inverted,off";
985             source: "elm";
986             action:  STATE_SET "default" 0.0;
987             target: "elm.progress.progressbar";
988          }
989       }
990    }
991
992    group { name: "elm/progressbar/horizontal/pending_list";
993       images {
994          image: "00_progress_pending_01_bg.png" COMP;
995          image: "00_progress_pending_02_bg.png" COMP;
996       }
997       parts {
998          part { name: "access";
999             type: RECT;
1000             description { state: "default" 0.0;
1001                fixed: 1 1;
1002                color: 0 0 0 0;
1003             }
1004          }
1005          part { name: "elm.background.progressbar";
1006             type: RECT;
1007             mouse_events: 0;
1008             scale: 1;
1009             description {
1010                state: "default" 0.0;
1011                rel1 {
1012                   relative: 0.0 0.0;
1013                   offset: 0 0;
1014                }
1015                rel2 {
1016                   relative: 1.0 1.0;
1017                }
1018             }
1019          }
1020          part { name: "elm.swallow.bar";
1021             mouse_events: 0;
1022             scale: 1;
1023             type: SWALLOW;
1024             description {
1025                min: 1 PROGRESSBAR_LIST_PENDING_HEIGHT_INC;
1026                max: 99999 PROGRESSBAR_LIST_PENDING_HEIGHT_INC;
1027                state: "default" 0.0;
1028                rel1 {
1029                   to: "elm.background.progressbar";
1030                   relative: 0.0 0.0;
1031                }
1032                rel2 {
1033                   to: "elm.background.progressbar";
1034                   relative: 1.0 1.0;
1035                }
1036             }
1037          }
1038          part { name: "elm.progress.progressbar";
1039             mouse_events: 0;
1040             scale: 1;
1041             clip_to: "elm.background.progressbar";
1042             description {
1043                state: "default" 0.0;
1044                min: 0 0;
1045                fixed: 1 1;
1046                rel1 {
1047                   to: "elm.swallow.bar";
1048                   relative: 0.0 0.0;
1049                }
1050                rel2 {
1051                   to: "elm.swallow.bar";
1052                   relative: 1.0 1.0;
1053                   offset: -1 -1;
1054                }
1055                image {
1056                   normal: "00_progress_pending_01_bg.png";
1057                   border: 0 0 0 0;
1058                }
1059             }
1060             description {
1061                state: "state_begin" 0.0;
1062                inherit: "default" 0.0;
1063             }
1064             description {
1065                state: "state_end" 0.0;
1066                inherit: "default" 0.0;
1067                image {
1068                   normal: "00_progress_pending_02_bg.png";
1069                   border: 0 0 0 0;
1070                }
1071             }
1072          }
1073       }
1074       programs {
1075          program { name: "slide_to_end";
1076             action:  STATE_SET "state_end" 0.0;
1077             in: 0.3 0.0;
1078             target: "elm.progress.progressbar";
1079             after: "slide_to_begin";
1080          }
1081          program { name: "slide_to_begin";
1082             signal: "elm,state,slide,begin";
1083             action: STATE_SET "state_begin" 0.0;
1084             target: "elm.progress.progressbar";
1085             in: 0.3 0.0;
1086             after: "slide_to_end";
1087          }
1088          program { name: "start_pulse";
1089             signal: "elm,state,pulse,start";
1090             source: "elm";
1091             after: "slide_to_end";
1092          }
1093          program { name: "stop_pulse";
1094             signal: "elm,state,pulse,stop";
1095             source: "elm";
1096             action: ACTION_STOP;
1097             target: "slide_to_begin";
1098             target: "slide_to_end";
1099             target: "start_pulse";
1100             after: "init_pulse";
1101          }
1102          program { name: "init_pulse";
1103             action: STATE_SET "default" 0.0;
1104             target: "elm.progress.progressbar";
1105          }
1106       }
1107    }
1108
1109 #define PROCESS_IMAGE(COLOR, SIZE, NUM) \
1110    image: ""COLOR"/"SIZE"/00_list_process_"NUM".png" COMP;
1111
1112 #define PROCESS_IMAGES(COLOR, SIZE) \
1113    images { \
1114       PROCESS_IMAGE(COLOR, SIZE, 01) \
1115       PROCESS_IMAGE(COLOR, SIZE, 02) \
1116       PROCESS_IMAGE(COLOR, SIZE, 03) \
1117       PROCESS_IMAGE(COLOR, SIZE, 04) \
1118       PROCESS_IMAGE(COLOR, SIZE, 05) \
1119       PROCESS_IMAGE(COLOR, SIZE, 06) \
1120       PROCESS_IMAGE(COLOR, SIZE, 07) \
1121       PROCESS_IMAGE(COLOR, SIZE, 08) \
1122       PROCESS_IMAGE(COLOR, SIZE, 09) \
1123       PROCESS_IMAGE(COLOR, SIZE, 10) \
1124       PROCESS_IMAGE(COLOR, SIZE, 11) \
1125       PROCESS_IMAGE(COLOR, SIZE, 12) \
1126       PROCESS_IMAGE(COLOR, SIZE, 13) \
1127       PROCESS_IMAGE(COLOR, SIZE, 14) \
1128       PROCESS_IMAGE(COLOR, SIZE, 15) \
1129       PROCESS_IMAGE(COLOR, SIZE, 16) \
1130       PROCESS_IMAGE(COLOR, SIZE, 17) \
1131       PROCESS_IMAGE(COLOR, SIZE, 18) \
1132       PROCESS_IMAGE(COLOR, SIZE, 19) \
1133       PROCESS_IMAGE(COLOR, SIZE, 20) \
1134       PROCESS_IMAGE(COLOR, SIZE, 21) \
1135       PROCESS_IMAGE(COLOR, SIZE, 22) \
1136       PROCESS_IMAGE(COLOR, SIZE, 23) \
1137       PROCESS_IMAGE(COLOR, SIZE, 24) \
1138       PROCESS_IMAGE(COLOR, SIZE, 25) \
1139       PROCESS_IMAGE(COLOR, SIZE, 26) \
1140       PROCESS_IMAGE(COLOR, SIZE, 27) \
1141       PROCESS_IMAGE(COLOR, SIZE, 28) \
1142       PROCESS_IMAGE(COLOR, SIZE, 29) \
1143       PROCESS_IMAGE(COLOR, SIZE, 30) \
1144    }
1145
1146 #define PROGRESS_DESC(COLOR, SIZE, NUM ) \
1147    description { state: "pulse" 0.#NUM; \
1148       inherit: "default" 0.0; \
1149       image { \
1150          normal: ""COLOR"/"SIZE"/00_list_process_"NUM".png"; \
1151       } \
1152    }
1153
1154 #define PROCESS_DESCS(COLOR, SIZE, WIDTH, HEIGHT) \
1155       description { \
1156          state: "default" 0.0; \
1157          min: WIDTH HEIGHT; \
1158          max: WIDTH HEIGHT; \
1159          aspect: 1.0 1.0; \
1160          aspect_preference: BOTH; \
1161          image { \
1162             normal: ""COLOR"/"SIZE"/00_list_process_01.png"; \
1163          } \
1164       } \
1165       description { state: "pulse" 0.0; \
1166          inherit: "default" 0.0; \
1167          image { \
1168             normal: ""COLOR"/"SIZE"/00_list_process_01.png"; \
1169          } \
1170       } \
1171       PROGRESS_DESC(COLOR, SIZE, 01 ) \
1172       PROGRESS_DESC(COLOR, SIZE, 02 ) \
1173       PROGRESS_DESC(COLOR, SIZE, 03 ) \
1174       PROGRESS_DESC(COLOR, SIZE, 04 ) \
1175       PROGRESS_DESC(COLOR, SIZE, 05 ) \
1176       PROGRESS_DESC(COLOR, SIZE, 06 ) \
1177       PROGRESS_DESC(COLOR, SIZE, 07 ) \
1178       PROGRESS_DESC(COLOR, SIZE, 08 ) \
1179       PROGRESS_DESC(COLOR, SIZE, 09 ) \
1180       PROGRESS_DESC(COLOR, SIZE, 10 ) \
1181       PROGRESS_DESC(COLOR, SIZE, 11 ) \
1182       PROGRESS_DESC(COLOR, SIZE, 12 ) \
1183       PROGRESS_DESC(COLOR, SIZE, 13 ) \
1184       PROGRESS_DESC(COLOR, SIZE, 14 ) \
1185       PROGRESS_DESC(COLOR, SIZE, 15 ) \
1186       PROGRESS_DESC(COLOR, SIZE, 16 ) \
1187       PROGRESS_DESC(COLOR, SIZE, 17 ) \
1188       PROGRESS_DESC(COLOR, SIZE, 18 ) \
1189       PROGRESS_DESC(COLOR, SIZE, 19 ) \
1190       PROGRESS_DESC(COLOR, SIZE, 20 ) \
1191       PROGRESS_DESC(COLOR, SIZE, 21 ) \
1192       PROGRESS_DESC(COLOR, SIZE, 22 ) \
1193       PROGRESS_DESC(COLOR, SIZE, 23 ) \
1194       PROGRESS_DESC(COLOR, SIZE, 24 ) \
1195       PROGRESS_DESC(COLOR, SIZE, 25 ) \
1196       PROGRESS_DESC(COLOR, SIZE, 26 ) \
1197       PROGRESS_DESC(COLOR, SIZE, 27 ) \
1198       PROGRESS_DESC(COLOR, SIZE, 28 ) \
1199       PROGRESS_DESC(COLOR, SIZE, 29 ) \
1200       PROGRESS_DESC(COLOR, SIZE, 30 )
1201
1202 #define   PROGRESSING_DELAY    0.07
1203
1204    group { name: "elm/progressbar/horizontal/list_process";
1205       alias: "elm/progressbar/horizontal/process";
1206       PROCESS_IMAGES("White", "63x63")
1207       parts {
1208          part { name: "access";
1209             type: RECT;
1210             description { state: "default" 0.0;
1211                fixed: 1 1;
1212                color: 0 0 0 0;
1213             }
1214          }
1215          part { name: "elm.background.progressbar";
1216             mouse_events: 0;
1217             scale: 1;
1218             type: RECT;
1219             description {
1220                state: "default" 0.0;
1221             }
1222          }
1223          part { name: "elm.swallow.bar";
1224             mouse_events: 0;
1225             scale: 1;
1226             type: SWALLOW;
1227             description { state: "default" 0.0;
1228                min: 0 0;
1229                max: 0 0;
1230                visible: 0;
1231             }
1232          }
1233          part { name: "elm.swallow.content";
1234             type: SWALLOW;
1235             scale: 1;
1236             description { state: "default" 0.0;
1237                min: 0 0;
1238                max: 0 0;
1239                visible: 0;
1240             }
1241          }
1242          part { name: "background";
1243             mouse_events: 0;
1244             scale: 1;
1245             clip_to: "elm.background.progressbar";
1246             PROCESS_DESCS("White", "63x63", 63, 63)
1247          }
1248       }
1249       script {
1250          public pulse_state;
1251       }
1252       programs {
1253          program { name: "continue_pulse";
1254             script {
1255                new Float:state;
1256                state = get_float(pulse_state);
1257                set_state(PART:"background", "pulse", state);
1258                state += 0.01;
1259                if( state > 0.30 )
1260                   state = 0.01;
1261                set_float(pulse_state, state);
1262             }
1263                after: "delay";
1264          }
1265          program { name: "delay";
1266             action: STATE_SET "pulse" 0.10;
1267             target: "background";
1268             in: PROGRESSING_DELAY 0.0;
1269             after: "continue_pulse";
1270          }
1271          program { name: "start_pulse";
1272             signal: "elm,state,pulse,start";
1273             source: "elm";
1274             script {
1275                set_float(pulse_state, 0.0);
1276             }
1277             after: "continue_pulse";
1278          }
1279          program { name: "stop_pulse";
1280             signal: "elm,state,pulse,stop";
1281             source: "elm";
1282             action: ACTION_STOP;
1283             target: "continue_pulse";
1284             target: "delay";
1285             target: "start_pulse";
1286             after: "init_pulse";
1287          }
1288          program { name: "init_pulse";
1289             action: STATE_SET "default" 0.0;
1290             target: "background";
1291          }
1292       }
1293    }
1294
1295    group { name: "elm/progressbar/horizontal/process_medium";
1296       PROCESS_IMAGES("White", "54x54")
1297       parts {
1298          part { name: "access";
1299             type: RECT;
1300             description { state: "default" 0.0;
1301                fixed: 1 1;
1302                color: 0 0 0 0;
1303             }
1304          }
1305          part { name: "elm.background.progressbar";
1306             mouse_events: 0;
1307             scale: 1;
1308             type: RECT;
1309             description {
1310                state: "default" 0.0;
1311             }
1312          }
1313          part { name: "elm.swallow.bar";
1314             mouse_events: 0;
1315             scale: 1;
1316             type: SWALLOW;
1317             description { state: "default" 0.0;
1318                min: 0 0;
1319                max: 0 0;
1320                visible: 0;
1321             }
1322          }
1323          part { name: "elm.swallow.content";
1324             type: SWALLOW;
1325             scale: 1;
1326             description { state: "default" 0.0;
1327                min: 0 0;
1328                max: 0 0;
1329                visible: 0;
1330             }
1331          }
1332          part { name: "background";
1333             mouse_events: 0;
1334             scale: 1;
1335             clip_to: "elm.background.progressbar";
1336             PROCESS_DESCS("White", "54x54", 54, 54)
1337          }
1338       }
1339       script {
1340          public pulse_state;
1341       }
1342       programs {
1343          program { name: "continue_pulse";
1344             script {
1345                new Float:state;
1346                state = get_float(pulse_state);
1347                set_state(PART:"background", "pulse", state);
1348                state += 0.01;
1349                if( state > 0.30 )
1350                   state = 0.01;
1351                set_float(pulse_state, state);
1352             }
1353                after: "delay";
1354          }
1355          program { name: "delay";
1356             action: STATE_SET "pulse" 0.10;
1357             target: "background";
1358             in: PROGRESSING_DELAY 0.0;
1359             after: "continue_pulse";
1360          }
1361          program { name: "start_pulse";
1362             signal: "elm,state,pulse,start";
1363             source: "elm";
1364             script {
1365                set_float(pulse_state, 0.0);
1366             }
1367             after: "continue_pulse";
1368          }
1369          program { name: "stop_pulse";
1370             signal: "elm,state,pulse,stop";
1371             source: "elm";
1372             action: ACTION_STOP;
1373             target: "continue_pulse";
1374             target: "delay";
1375             target: "start_pulse";
1376             after: "init_pulse";
1377          }
1378          program { name: "init_pulse";
1379             action: STATE_SET "default" 0.0;
1380             target: "background";
1381          }
1382       }
1383    }
1384
1385    group { name: "elm/progressbar/horizontal/list_process_small";
1386       alias: "elm/progressbar/horizontal/process_small";
1387       PROCESS_IMAGES("White", "36x36")
1388       parts {
1389          part { name: "access";
1390             type: RECT;
1391             description { state: "default" 0.0;
1392                fixed: 1 1;
1393                color: 0 0 0 0;
1394             }
1395          }
1396          part { name: "elm.background.progressbar";
1397             mouse_events: 0;
1398             scale: 1;
1399             type: RECT;
1400             description {
1401                state: "default" 0.0;
1402             }
1403          }
1404          part { name: "elm.swallow.bar";
1405             mouse_events: 0;
1406             scale: 1;
1407             type: SWALLOW;
1408             description { state: "default" 0.0;
1409                min: 0 0;
1410                max: 0 0;
1411                visible: 0;
1412             }
1413          }
1414          part { name: "elm.swallow.content";
1415             type: SWALLOW;
1416             scale: 1;
1417             description { state: "default" 0.0;
1418                min: 0 0;
1419                max: 0 0;
1420                visible: 0;
1421             }
1422          }
1423          part { name: "background";
1424             mouse_events: 0;
1425             scale: 1;
1426             clip_to: "elm.background.progressbar";
1427             description {
1428                state: "default" 0.0;
1429                min: 36 36;
1430                max: 36 36;
1431                visible: 1;
1432                aspect: 1.0 1.0;
1433                aspect_preference: BOTH;
1434                image {
1435                   normal: "White/36x36/00_list_process_01.png";
1436                }
1437             }
1438             description {
1439                state: "pulse" 0.0;
1440                inherit: "default" 0.0;
1441                image {
1442                   normal: "White/36x36/00_list_process_01.png";
1443                   tween:  "White/36x36/00_list_process_02.png";
1444                   tween:  "White/36x36/00_list_process_03.png";
1445                   tween:  "White/36x36/00_list_process_04.png";
1446                   tween:  "White/36x36/00_list_process_05.png";
1447                   tween:  "White/36x36/00_list_process_06.png";
1448                   tween:  "White/36x36/00_list_process_07.png";
1449                   tween:  "White/36x36/00_list_process_08.png";
1450                   tween:  "White/36x36/00_list_process_09.png";
1451                   tween:  "White/36x36/00_list_process_10.png";
1452                   tween:  "White/36x36/00_list_process_11.png";
1453                   tween:  "White/36x36/00_list_process_12.png";
1454                   tween:  "White/36x36/00_list_process_13.png";
1455                   tween:  "White/36x36/00_list_process_14.png";
1456                   tween:  "White/36x36/00_list_process_15.png";
1457                   tween:  "White/36x36/00_list_process_16.png";
1458                   tween:  "White/36x36/00_list_process_17.png";
1459                   tween:  "White/36x36/00_list_process_18.png";
1460                   tween:  "White/36x36/00_list_process_19.png";
1461                   tween:  "White/36x36/00_list_process_20.png";
1462                   tween:  "White/36x36/00_list_process_21.png";
1463                   tween:  "White/36x36/00_list_process_22.png";
1464                   tween:  "White/36x36/00_list_process_23.png";
1465                   tween:  "White/36x36/00_list_process_24.png";
1466                   tween:  "White/36x36/00_list_process_25.png";
1467                   tween:  "White/36x36/00_list_process_26.png";
1468                   tween:  "White/36x36/00_list_process_27.png";
1469                   tween:  "White/36x36/00_list_process_28.png";
1470                   tween:  "White/36x36/00_list_process_29.png";
1471                   tween:  "White/36x36/00_list_process_30.png";
1472                }
1473             }
1474          }
1475       }
1476       programs {
1477          program { name: "start_pulse";
1478             signal: "elm,state,pulse,start";
1479             source: "elm";
1480             action: STATE_SET "pulse" 0.0;
1481             target: "background";
1482             transition: LINEAR 1.5;
1483             after: "start_pulse";
1484          }
1485          program { name: "stop_pulse";
1486             signal: "elm,state,pulse,stop";
1487             source: "elm";
1488             action: STATE_SET "default" 0.0;
1489             target: "background";
1490          }
1491          program { name: "init_pulse";
1492             action: STATE_SET "default" 0.0;
1493             target: "background";
1494          }
1495       }
1496    }
1497
1498
1499 // Black progressbar
1500    group { name: "elm/progressbar/horizontal/list_process_black";
1501       alias: "elm/progressbar/horizontal/process_black";
1502       PROCESS_IMAGES("Black", "63x63")
1503       parts {
1504          part { name: "access";
1505             type: RECT;
1506             description { state: "default" 0.0;
1507                fixed: 1 1;
1508                color: 0 0 0 0;
1509             }
1510          }
1511          part { name: "elm.background.progressbar";
1512             mouse_events: 0;
1513             scale: 1;
1514             type: RECT;
1515             description {
1516                state: "default" 0.0;
1517             }
1518          }
1519          part { name: "elm.swallow.bar";
1520             mouse_events: 0;
1521             scale: 1;
1522             type: SWALLOW;
1523             description { state: "default" 0.0;
1524                min: 0 0;
1525                max: 0 0;
1526                visible: 0;
1527             }
1528          }
1529          part { name: "elm.swallow.content";
1530             type: SWALLOW;
1531             scale: 1;
1532             description { state: "default" 0.0;
1533                min: 0 0;
1534                max: 0 0;
1535                visible: 0;
1536             }
1537          }
1538          part { name: "background";
1539             mouse_events: 0;
1540             scale: 1;
1541             clip_to: "elm.background.progressbar";
1542             PROCESS_DESCS("Black", "63x63", 63, 63)
1543          }
1544       }
1545       script {
1546          public pulse_state;
1547       }
1548       programs {
1549          program { name: "continue_pulse";
1550             script {
1551                new Float:state;
1552                state = get_float(pulse_state);
1553                set_state(PART:"background", "pulse", state);
1554                state += 0.01;
1555                if( state > 0.30 )
1556                   state = 0.01;
1557                set_float(pulse_state, state);
1558             }
1559                after: "delay";
1560          }
1561          program { name: "delay";
1562             action: STATE_SET "pulse" 0.10;
1563             target: "background";
1564             in: PROGRESSING_DELAY 0.0;
1565             after: "continue_pulse";
1566          }
1567          program { name: "start_pulse";
1568             signal: "elm,state,pulse,start";
1569             source: "elm";
1570             script {
1571                set_float(pulse_state, 0.0);
1572             }
1573             after: "continue_pulse";
1574          }
1575          program { name: "stop_pulse";
1576             signal: "elm,state,pulse,stop";
1577             source: "elm";
1578             action: ACTION_STOP;
1579             target: "continue_pulse";
1580             target: "delay";
1581             target: "start_pulse";
1582             after: "init_pulse";
1583          }
1584          program { name: "init_pulse";
1585             action: STATE_SET "default" 0.0;
1586             target: "background";
1587          }
1588       }
1589    }
1590
1591    group { name: "elm/progressbar/horizontal/process_medium_black";
1592       PROCESS_IMAGES("Black", "54x54")
1593       parts {
1594          part { name: "access";
1595             type: RECT;
1596             description { state: "default" 0.0;
1597                fixed: 1 1;
1598                color: 0 0 0 0;
1599             }
1600          }
1601          part { name: "elm.background.progressbar";
1602             mouse_events: 0;
1603             scale: 1;
1604             type: RECT;
1605             description {
1606                state: "default" 0.0;
1607             }
1608          }
1609          part { name: "elm.swallow.bar";
1610             mouse_events: 0;
1611             scale: 1;
1612             type: SWALLOW;
1613             description { state: "default" 0.0;
1614                min: 0 0;
1615                max: 0 0;
1616                visible: 0;
1617             }
1618          }
1619          part { name: "elm.swallow.content";
1620             type: SWALLOW;
1621             scale: 1;
1622             description { state: "default" 0.0;
1623                min: 0 0;
1624                max: 0 0;
1625                visible: 0;
1626             }
1627          }
1628          part { name: "background";
1629             mouse_events: 0;
1630             scale: 1;
1631             clip_to: "elm.background.progressbar";
1632             PROCESS_DESCS("Black", "54x54", 54, 54)
1633          }
1634       }
1635       script {
1636          public pulse_state;
1637       }
1638       programs {
1639          program { name: "continue_pulse";
1640             script {
1641                new Float:state;
1642                state = get_float(pulse_state);
1643                set_state(PART:"background", "pulse", state);
1644                state += 0.01;
1645                if( state > 0.30 )
1646                   state = 0.01;
1647                set_float(pulse_state, state);
1648             }
1649                after: "delay";
1650          }
1651          program { name: "delay";
1652             action: STATE_SET "pulse" 0.10;
1653             target: "background";
1654             in: PROGRESSING_DELAY 0.0;
1655             after: "continue_pulse";
1656          }
1657          program { name: "start_pulse";
1658             signal: "elm,state,pulse,start";
1659             source: "elm";
1660             script {
1661                set_float(pulse_state, 0.0);
1662             }
1663             after: "continue_pulse";
1664          }
1665          program { name: "stop_pulse";
1666             signal: "elm,state,pulse,stop";
1667             source: "elm";
1668             action: ACTION_STOP;
1669             target: "continue_pulse";
1670             target: "delay";
1671             target: "start_pulse";
1672             after: "init_pulse";
1673          }
1674          program { name: "init_pulse";
1675             action: STATE_SET "default" 0.0;
1676             target: "background";
1677          }
1678       }
1679    }
1680
1681    group { name: "elm/progressbar/horizontal/list_process_small_black";
1682       alias: "elm/progressbar/horizontal/process_small_black";
1683       PROCESS_IMAGES("Black", "36x36")
1684       parts {
1685          part { name: "access";
1686             type: RECT;
1687             description { state: "default" 0.0;
1688                fixed: 1 1;
1689                color: 0 0 0 0;
1690             }
1691          }
1692          part { name: "elm.background.progressbar";
1693             mouse_events: 0;
1694             scale: 1;
1695             type: RECT;
1696             description {
1697                state: "default" 0.0;
1698             }
1699          }
1700          part { name: "elm.swallow.bar";
1701             mouse_events: 0;
1702             scale: 1;
1703             type: SWALLOW;
1704             description { state: "default" 0.0;
1705                min: 0 0;
1706                max: 0 0;
1707                visible: 0;
1708             }
1709          }
1710          part { name: "elm.swallow.content";
1711             type: SWALLOW;
1712             scale: 1;
1713             description { state: "default" 0.0;
1714                min: 0 0;
1715                max: 0 0;
1716                visible: 0;
1717             }
1718          }
1719          part { name: "background";
1720             mouse_events: 0;
1721             scale: 1;
1722             clip_to: "elm.background.progressbar";
1723             PROCESS_DESCS("Black", "36x36", 36, 36)
1724          }
1725       }
1726       script {
1727          public pulse_state;
1728       }
1729       programs {
1730          program { name: "continue_pulse";
1731             script {
1732                new Float:state;
1733                state = get_float(pulse_state);
1734                set_state(PART:"background", "pulse", state);
1735                state += 0.01;
1736                if( state > 0.30 )
1737                   state = 0.01;
1738                set_float(pulse_state, state);
1739             }
1740                after: "delay";
1741          }
1742          program { name: "delay";
1743             action: STATE_SET "pulse" 0.10;
1744             target: "background";
1745             in: PROGRESSING_DELAY 0.0;
1746             after: "continue_pulse";
1747          }
1748          program { name: "start_pulse";
1749             signal: "elm,state,pulse,start";
1750             source: "elm";
1751             script {
1752                set_float(pulse_state, 0.0);
1753             }
1754             after: "continue_pulse";
1755          }
1756          program { name: "stop_pulse";
1757             signal: "elm,state,pulse,stop";
1758             source: "elm";
1759             action: ACTION_STOP;
1760             target: "continue_pulse";
1761             target: "delay";
1762             target: "start_pulse";
1763             after: "init_pulse";
1764          }
1765          program { name: "init_pulse";
1766             action: STATE_SET "default" 0.0;
1767             target: "background";
1768          }
1769       }
1770    }
1771
1772 #define CIRCLE_PROGRESSING_DELAY       0.03
1773 #define PROGRESS_CIRCLE_TOTAL_STATES   50
1774
1775 #define PROGRESS_CIRCLE_BG_DESC( param_num ) \
1776    description { state: "progress" 0.#param_num; \
1777       inherit: "default" 0.0; \
1778       image { \
1779          normal: "00_progress_circle_bg_"#param_num".png"; \
1780       } \
1781    }
1782
1783    group { name: "elm/progressbar/horizontal/progress_circle";
1784       images {
1785          image: "00_progress_circle_bg.png" COMP;
1786          image: "00_progress_circle_bg_01.png" COMP;
1787          image: "00_progress_circle_bg_02.png" COMP;
1788          image: "00_progress_circle_bg_03.png" COMP;
1789          image: "00_progress_circle_bg_04.png" COMP;
1790          image: "00_progress_circle_bg_05.png" COMP;
1791          image: "00_progress_circle_bg_06.png" COMP;
1792          image: "00_progress_circle_bg_07.png" COMP;
1793          image: "00_progress_circle_bg_08.png" COMP;
1794          image: "00_progress_circle_bg_09.png" COMP;
1795          image: "00_progress_circle_bg_10.png" COMP;
1796          image: "00_progress_circle_bg_11.png" COMP;
1797          image: "00_progress_circle_bg_12.png" COMP;
1798          image: "00_progress_circle_bg_13.png" COMP;
1799          image: "00_progress_circle_bg_14.png" COMP;
1800          image: "00_progress_circle_bg_15.png" COMP;
1801          image: "00_progress_circle_bg_16.png" COMP;
1802          image: "00_progress_circle_bg_17.png" COMP;
1803          image: "00_progress_circle_bg_18.png" COMP;
1804          image: "00_progress_circle_bg_19.png" COMP;
1805          image: "00_progress_circle_bg_20.png" COMP;
1806          image: "00_progress_circle_bg_21.png" COMP;
1807          image: "00_progress_circle_bg_22.png" COMP;
1808          image: "00_progress_circle_bg_23.png" COMP;
1809          image: "00_progress_circle_bg_24.png" COMP;
1810          image: "00_progress_circle_bg_25.png" COMP;
1811          image: "00_progress_circle_bg_26.png" COMP;
1812          image: "00_progress_circle_bg_27.png" COMP;
1813          image: "00_progress_circle_bg_28.png" COMP;
1814          image: "00_progress_circle_bg_29.png" COMP;
1815          image: "00_progress_circle_bg_30.png" COMP;
1816          image: "00_progress_circle_bg_31.png" COMP;
1817          image: "00_progress_circle_bg_32.png" COMP;
1818          image: "00_progress_circle_bg_33.png" COMP;
1819          image: "00_progress_circle_bg_34.png" COMP;
1820          image: "00_progress_circle_bg_35.png" COMP;
1821          image: "00_progress_circle_bg_36.png" COMP;
1822          image: "00_progress_circle_bg_37.png" COMP;
1823          image: "00_progress_circle_bg_38.png" COMP;
1824          image: "00_progress_circle_bg_39.png" COMP;
1825          image: "00_progress_circle_bg_40.png" COMP;
1826          image: "00_progress_circle_bg_41.png" COMP;
1827          image: "00_progress_circle_bg_42.png" COMP;
1828          image: "00_progress_circle_bg_43.png" COMP;
1829          image: "00_progress_circle_bg_44.png" COMP;
1830          image: "00_progress_circle_bg_45.png" COMP;
1831          image: "00_progress_circle_bg_46.png" COMP;
1832          image: "00_progress_circle_bg_47.png" COMP;
1833          image: "00_progress_circle_bg_48.png" COMP;
1834          image: "00_progress_circle_bg_49.png" COMP;
1835          image: "00_progress_circle_bg_50.png" COMP;
1836       }
1837       parts {
1838          part { name: "access";
1839             type: RECT;
1840             description { state: "default" 0.0;
1841                fixed: 1 1;
1842                color: 0 0 0 0;
1843             }
1844          }
1845          part { name: "elm.background.progressbar";
1846             mouse_events: 0;
1847             scale: 1;
1848             type: RECT;
1849             description {
1850                state: "default" 0.0;
1851             }
1852          }
1853          part { name: "elm.swallow.bar";
1854             mouse_events: 0;
1855             scale: 1;
1856             type: SWALLOW;
1857             description { state: "default" 0.0;
1858                min: 0 0;
1859                max: 0 0;
1860                visible: 0;
1861             }
1862          }
1863          part { name: "elm.swallow.content";
1864             type: SWALLOW;
1865             scale: 1;
1866             description { state: "default" 0.0;
1867                min: 0 0;
1868                max: 0 0;
1869                visible: 0;
1870             }
1871          }
1872          part { name: "elm.cur.progressbar";
1873             mouse_events: 0;
1874             scale: 1;
1875             dragable {
1876                confine: "background";
1877                x: 1 1 1;
1878                y: 0 0 0;
1879             }
1880             description { state: "default" 0.0;
1881                min: 1 1;
1882                fixed: 1 1;
1883                visible: 0;
1884                rel1.to: "background";
1885                rel2.to: "background";
1886            }
1887          }
1888          part { name: "background";
1889             mouse_events: 0;
1890             scale: 1;
1891             clip_to: "elm.background.progressbar";
1892             description {
1893                state: "default" 0.0;
1894                min: PROGRESSBAR_PROGRESS_CIRCLE_BG_SIZE_INC;
1895                max: PROGRESSBAR_PROGRESS_CIRCLE_BG_SIZE_INC;
1896                aspect: 1.0 1.0;
1897                aspect_preference: BOTH;
1898                image {
1899                   normal: "00_progress_circle_bg.png";
1900                }
1901             }
1902          }
1903          part { name: "progress_circle_img";
1904             mouse_events: 0;
1905             scale: 1;
1906             clip_to: "elm.background.progressbar";
1907             description {
1908                state: "default" 0.0;
1909                rel1 {
1910                   to: "background";
1911                }
1912                rel2 {
1913                   to: "background";
1914                }
1915                aspect: 1.0 1.0;
1916                aspect_preference: BOTH;
1917                image {
1918                   normal: "00_progress_circle_bg.png";
1919                }
1920             }
1921             description { state: "progress" 0.0;
1922                inherit: "default" 0.0;
1923                image {
1924                   normal: "00_progress_circle_bg.png";
1925                }
1926             }
1927             PROGRESS_CIRCLE_BG_DESC( 01 )
1928             PROGRESS_CIRCLE_BG_DESC( 02 )
1929             PROGRESS_CIRCLE_BG_DESC( 03 )
1930             PROGRESS_CIRCLE_BG_DESC( 04 )
1931             PROGRESS_CIRCLE_BG_DESC( 05 )
1932             PROGRESS_CIRCLE_BG_DESC( 06 )
1933             PROGRESS_CIRCLE_BG_DESC( 07 )
1934             PROGRESS_CIRCLE_BG_DESC( 08 )
1935             PROGRESS_CIRCLE_BG_DESC( 09 )
1936             PROGRESS_CIRCLE_BG_DESC( 10 )
1937             PROGRESS_CIRCLE_BG_DESC( 11 )
1938             PROGRESS_CIRCLE_BG_DESC( 12 )
1939             PROGRESS_CIRCLE_BG_DESC( 13 )
1940             PROGRESS_CIRCLE_BG_DESC( 14 )
1941             PROGRESS_CIRCLE_BG_DESC( 15 )
1942             PROGRESS_CIRCLE_BG_DESC( 16 )
1943             PROGRESS_CIRCLE_BG_DESC( 17 )
1944             PROGRESS_CIRCLE_BG_DESC( 18 )
1945             PROGRESS_CIRCLE_BG_DESC( 19 )
1946             PROGRESS_CIRCLE_BG_DESC( 20 )
1947             PROGRESS_CIRCLE_BG_DESC( 21 )
1948             PROGRESS_CIRCLE_BG_DESC( 22 )
1949             PROGRESS_CIRCLE_BG_DESC( 23 )
1950             PROGRESS_CIRCLE_BG_DESC( 24 )
1951             PROGRESS_CIRCLE_BG_DESC( 25 )
1952             PROGRESS_CIRCLE_BG_DESC( 26 )
1953             PROGRESS_CIRCLE_BG_DESC( 27 )
1954             PROGRESS_CIRCLE_BG_DESC( 28 )
1955             PROGRESS_CIRCLE_BG_DESC( 29 )
1956             PROGRESS_CIRCLE_BG_DESC( 30 )
1957             PROGRESS_CIRCLE_BG_DESC( 31 )
1958             PROGRESS_CIRCLE_BG_DESC( 32 )
1959             PROGRESS_CIRCLE_BG_DESC( 33 )
1960             PROGRESS_CIRCLE_BG_DESC( 34 )
1961             PROGRESS_CIRCLE_BG_DESC( 35 )
1962             PROGRESS_CIRCLE_BG_DESC( 36 )
1963             PROGRESS_CIRCLE_BG_DESC( 37 )
1964             PROGRESS_CIRCLE_BG_DESC( 38 )
1965             PROGRESS_CIRCLE_BG_DESC( 39 )
1966             PROGRESS_CIRCLE_BG_DESC( 40 )
1967             PROGRESS_CIRCLE_BG_DESC( 41 )
1968             PROGRESS_CIRCLE_BG_DESC( 42 )
1969             PROGRESS_CIRCLE_BG_DESC( 43 )
1970             PROGRESS_CIRCLE_BG_DESC( 44 )
1971             PROGRESS_CIRCLE_BG_DESC( 45 )
1972             PROGRESS_CIRCLE_BG_DESC( 46 )
1973             PROGRESS_CIRCLE_BG_DESC( 47 )
1974             PROGRESS_CIRCLE_BG_DESC( 48 )
1975             PROGRESS_CIRCLE_BG_DESC( 49 )
1976             PROGRESS_CIRCLE_BG_DESC( 50 )
1977          }
1978       }
1979       programs {
1980          script {
1981             public curr_state = 0;
1982             public final_state = 0;
1983             public prev_state = 0;
1984             public max_state = 0;    // maximum possible state, a normalized value
1985             public circle_zero_cross = 0;   // whether circle crosses its Zero state or not.
1986
1987             public progress_circle_state_change(){
1988             new Float:x, Float:y, Float:final, Float:max;
1989             max = PROGRESS_CIRCLE_TOTAL_STATES / 100.0;
1990             set_float(max_state, max);
1991             get_drag(PART:"elm.cur.progressbar", x, y);
1992             final = x * max;   // calculate final state as per the set drag value
1993             set_float(final_state, final);
1994             if( final < get_float(prev_state) )
1995                set_int(circle_zero_cross, 1);  // high value to low value, crosses zero state.
1996             else
1997                set_int(circle_zero_cross, 0);  // low value to high value, no need for zero state crossing.
1998             }
1999          }
2000          program { name: "circle_progress";
2001             script {
2002                new Float:curr, Float:final, Float:max;
2003                new zero_cross;
2004                zero_cross = get_int(circle_zero_cross);
2005                max = get_float(max_state);
2006                curr = get_float(curr_state);
2007                set_state(PART:"progress_circle_img", "progress", curr);
2008                curr += 0.01;   // for next immediate state.
2009                if( (curr > max) && (zero_cross == 1) )
2010                {
2011                   curr = 0.00;   // once it crosses Zero state, reset its state.
2012                   set_int(circle_zero_cross, 0);
2013                }
2014                else if( curr > max ) return;
2015
2016                final = get_float(final_state);
2017                zero_cross = get_int(circle_zero_cross);
2018                if( (curr > final) && (zero_cross == 0) )
2019                {
2020                   set_float(prev_state, get_float(curr_state));
2021                   return;
2022                }
2023                set_float(curr_state, curr);
2024             }
2025             after: "delay";
2026          }
2027          program { name: "delay";
2028             action: STATE_SET "progress" 0.10;
2029             target: "progress_circle_img";
2030             in: CIRCLE_PROGRESSING_DELAY 0.0;
2031             after: "circle_progress";
2032          }
2033          program { name: "circle_start";
2034             signal: "elm,state,pulse,start";
2035             source: "elm";
2036             script {
2037                set_float(curr_state, 0.0);
2038             }
2039             after: "circle_progress";
2040          }
2041          program { name: "circle_stop";
2042             signal: "elm,state,pulse,stop";
2043             source: "elm";
2044             action: ACTION_STOP;
2045             target: "circle_progress";
2046             target: "delay";
2047             target: "circle_start";
2048          }
2049          program { name: "circle_state_change";
2050             signal: "elm,state,change";
2051             source: "elm";
2052             script {
2053                progress_circle_state_change()
2054             }
2055             after: "circle_progress";
2056          }
2057       }
2058    }