3 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
23 group { name: "elm/scroller/base/default";
24 alias: "elm/carousel/base/default";
25 alias: "elm/scroller/base/map_bubble";
26 alias: "elm/gengrid/base/no_effect";
27 alias: "elm/genlist/base/no_effect";
30 item: "focus_highlight" "on";
34 public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
35 public sh_v, sh_h, sh_timer, edge_timer;
40 v = get_int(sbalways_v);
42 emit("do-hide-vbar", "");
48 v = get_int(sbalways_h);
50 emit("do-hide-hbar", "");
54 set_int(sbvis_timer, 0);
58 emit("do-hide-vshadow", "");
59 emit("do-hide-hshadow", "");
64 emit("do-hide-vshadow", "");
65 emit("do-hide-hshadow", "");
66 set_int(edge_timer, 0);
71 image: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE COMP;
72 image: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE COMP;
78 description { state: "default" 0.0;
84 part { name: "clipper";
88 description { state: "default" 0.0;
95 part { name: "elm.swallow.content";
99 description { state: "default" 0.0;
106 part { name: "sb_vbar_clip_master";
110 description { state: "default" 0.0;
112 description { state: "hidden" 0.0;
114 color: 255 255 255 0;
117 part { name: "sb_vbar_clip";
118 clip_to: "sb_vbar_clip_master";
122 description { state: "default" 0.0;
124 description { state: "hidden" 0.0;
126 color: 255 255 255 0;
129 part { name: "sb_vbar";
133 description { state: "default" 0.0;
136 min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
141 to_y: "elm.swallow.content";
142 to_x: "elm.swallow.content";
147 to_y: "elm.swallow.content";
148 to_x: "elm.swallow.content";
152 part { name: "elm.dragable.vbar";
153 clip_to: "sb_vbar_clip";
161 description { state: "default" 0.0;
163 min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
164 max: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC;
176 normal: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE;
177 border: SCROLLER_DEFAULT_SCROLLBAR_VBAR_IMAGE_BORDER;
183 part { name: "sb_hbar_clip_master";
187 description { state: "default" 0.0;
189 description { state: "hidden" 0.0;
191 color: 255 255 255 0;
194 part { name: "sb_hbar_clip";
195 clip_to: "sb_hbar_clip_master";
199 description { state: "default" 0.0;
201 description { state: "hidden" 0.0;
203 color: 255 255 255 0;
206 part { name: "sb_hbar";
210 description { state: "default" 0.0;
213 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
218 to_x: "elm.swallow.content";
219 to_y: "elm.swallow.content";
224 to_x: "elm.swallow.content";
225 to_y: "elm.swallow.content";
229 part { name: "elm.dragable.hbar";
230 clip_to: "sb_hbar_clip";
238 description { state: "default" 0.0;
240 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
241 max: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC;
253 normal: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE;
254 border: SCROLLER_DEFAULT_SCROLLBAR_HBAR_IMAGE_BORDER;
260 part { name: "disabler";
263 description { state: "default" 0.0;
269 description { state: "disabled" 0.0;
270 inherit: "default" 0.0;
272 color: 128 128 128 128;
277 program { name: "load";
281 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
282 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
285 set_int(sbalways_v, 0);
286 set_int(sbalways_h, 0);
287 set_int(sbvis_timer, 0);
288 emit("reload", "elm");
292 program { name: "vbar_show";
293 signal: "elm,action,show,vbar";
295 action: STATE_SET "default" 0.0;
296 target: "sb_vbar_clip_master";
298 program { name: "vbar_hide";
299 signal: "elm,action,hide,vbar";
301 action: STATE_SET "hidden" 0.0;
302 target: "sb_vbar_clip_master";
304 program { name: "vbar_show_always";
305 signal: "elm,action,show_always,vbar";
309 v = get_int(sbvis_v);
310 v |= get_int(sbalways_v);
312 set_int(sbalways_v, 1);
313 emit("do-show-vbar", "");
318 program { name: "vbar_show_notalways";
319 signal: "elm,action,show_notalways,vbar";
323 v = get_int(sbalways_v);
325 set_int(sbalways_v, 0);
326 v = get_int(sbvis_v);
328 emit("do-hide-vbar", "");
334 program { name: "sb_vbar_show";
335 signal: "do-show-vbar";
337 action: STATE_SET "default" 0.0;
338 transition: LINEAR 0.5;
339 target: "sb_vbar_clip";
341 program { name: "sb_vbar_hide";
342 signal: "do-hide-vbar";
344 action: STATE_SET "hidden" 0.0;
345 transition: LINEAR 0.5;
346 target: "sb_vbar_clip";
349 program { name: "hbar_show";
350 signal: "elm,action,show,hbar";
352 action: STATE_SET "default" 0.0;
353 target: "sb_hbar_clip_master";
355 program { name: "hbar_hide";
356 signal: "elm,action,hide,hbar";
358 action: STATE_SET "hidden" 0.0;
359 target: "sb_hbar_clip_master";
361 program { name: "hbar_show_always";
362 signal: "elm,action,show_always,hbar";
366 v = get_int(sbvis_h);
367 v |= get_int(sbalways_h);
369 set_int(sbalways_h, 1);
370 emit("do-show-hbar", "");
375 program { name: "hbar_show_notalways";
376 signal: "elm,action,show_notalways,hbar";
380 v = get_int(sbalways_h);
382 set_int(sbalways_h, 0);
383 v = get_int(sbvis_h);
385 emit("do-hide-hbar", "");
391 program { name: "sb_hbar_show";
392 signal: "do-show-hbar";
394 action: STATE_SET "default" 0.0;
395 transition: LINEAR 0.5;
396 target: "sb_hbar_clip";
398 program { name: "sb_hbar_hide";
399 signal: "do-hide-hbar";
401 action: STATE_SET "hidden" 0.0;
402 transition: LINEAR 0.5;
403 target: "sb_hbar_clip";
406 program { name: "scroll";
407 signal: "elm,action,scroll";
411 v = get_int(sbvis_v);
412 v |= get_int(sbalways_v);
414 emit("do-show-vbar", "");
417 v = get_int(sbvis_h);
418 v |= get_int(sbalways_h);
420 emit("do-show-hbar", "");
423 v = get_int(sbvis_timer);
424 if (v > 0) cancel_timer(v);
425 v = timer(1.0, "timer0", 0);
426 set_int(sbvis_timer, v);
429 program { name: "disable";
430 signal: "elm,state,disabled";
432 action: STATE_SET "disabled" 0.0;
435 program { name: "enable";
436 signal: "elm,state,enabled";
438 action: STATE_SET "default" 0.0;
441 program { name: "show";
446 emit("do-show-vbar", "");
448 v = get_int(sbalways_v);
450 v = get_int(sbvis_timer);
451 if (v > 0) cancel_timer(v);
452 v = timer(1.0, "timer0", 0);
453 set_int(sbvis_timer, v);
455 emit("do-show-hbar", "");
457 v = get_int(sbalways_h);
459 v = get_int(sbvis_timer);
460 if (v > 0) cancel_timer(v);
461 v = timer(1.0, "timer0", 0);
462 set_int(sbvis_timer, v);
469 group { name: "elm/scroller/base/handler";
470 alias: "elm/carousel/base/handler";
473 item: "focus_highlight" "on";
476 public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
477 public sh_timer, edge_timer;
480 v = get_int(sbvis_v);
482 v = get_int(sbalways_v);
484 emit("do-hide-vbar", "");
488 v = get_int(sbvis_h);
490 v = get_int(sbalways_h);
492 emit("do-hide-hbar", "");
496 set_int(sbvis_timer, 0);
500 emit("do-hide-vshadow", "");
501 emit("do-hide-hshadow", "");
502 set_int(sh_timer, 0);
506 emit("do-hide-vshadow", "");
507 emit("do-hide-hshadow", "");
508 set_int(edge_timer, 0);
513 image: "00_fast_scroll_handler_top.png" COMP;
514 image: "00_fast_scroll_handler_center.png" COMP;
515 image: "00_fast_scroll_handler_bottom.png" COMP;
516 image: "00_fast_scroll_handler_left_h.png" COMP;
517 image: "00_fast_scroll_handler_center_h.png" COMP;
518 image: "00_fast_scroll_handler_right_h.png" COMP;
524 description { state: "default" 0.0;
527 color: 255 255 255 0;
530 part { name: "clipper";
534 description { state: "default" 0.0;
541 part { name: "elm.swallow.content";
545 description { state: "default" 0.0;
552 part { name: "sb_vbar_clip_master";
556 description { state: "default" 0.0;
558 description { state: "hidden" 0.0;
560 color: 255 255 255 0;
563 part { name: "sb_vbar_clip";
564 clip_to: "sb_vbar_clip_master";
568 description { state: "default" 0.0;
570 description { state: "hidden" 0.0;
572 color: 255 255 255 0;
575 part { name: "sb_vbar";
579 description { state: "default" 0.0;
582 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
586 to_y: "elm.swallow.content";
587 to_x: "elm.swallow.content";
592 to_x: "elm.swallow.content";
596 part { name: "elm.dragable.vbar";
598 clip_to: "sb_vbar_clip";
606 description { state: "default" 0.0;
609 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
623 part { name: "scrollbar_handler_image_top";
624 clip_to: "sb_vbar_clip";
627 description { state: "default" 0.0;
629 rel1.relative: 0.0 0.0;
630 rel1.to: "elm.dragable.vbar";
631 rel2.relative: 1.0 0.0;
632 rel2.to: "scrollbar_handler_image_middle";
635 normal: "00_fast_scroll_handler_top.png";
641 part { name: "scrollbar_handler_image_middle";
642 clip_to: "sb_vbar_clip";
645 description { state: "default" 0.0;
647 rel1.relative: 0.5 0.5;
648 rel1.to: "elm.dragable.vbar";
649 rel2.relative: 0.5 0.5;
650 rel2.to: "elm.dragable.vbar";
652 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC;
654 normal: "00_fast_scroll_handler_center.png";
660 part { name: "scrollbar_handler_image_bottom";
661 clip_to: "sb_vbar_clip";
664 description { state: "default" 0.0;
666 rel1.relative: 0.0 1.0;
667 rel1.to: "scrollbar_handler_image_middle";
668 rel2.relative: 1.0 1.0;
669 rel2.to: "elm.dragable.vbar";
672 normal: "00_fast_scroll_handler_bottom.png";
678 part { name: "sb_hbar_clip_master";
682 description { state: "default" 0.0;
684 description { state: "hidden" 0.0;
686 color: 255 255 255 0;
689 part { name: "sb_hbar_clip";
690 clip_to: "sb_hbar_clip_master";
694 description { state: "default" 0.0;
696 description { state: "hidden" 0.0;
698 color: 255 255 255 0;
701 part { name: "sb_hbar";
705 description { state: "default" 0.0;
708 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
712 to_x: "elm.swallow.content";
713 to_y: "elm.swallow.content";
719 to_y: "elm.swallow.content";
723 part { name: "elm.dragable.hbar";
725 clip_to: "sb_hbar_clip";
733 description { state: "default" 0.0;
736 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
750 part { name: "h_scrollbar_handler_image_left";
751 clip_to: "sb_hbar_clip";
754 description { state: "default" 0.0;
756 rel1.relative: 0.0 0.0;
757 rel1.to: "elm.dragable.hbar";
758 rel2.relative: 0.0 1.0;
759 rel2.to: "scrollbar_handler_image_hor";
762 normal: "00_fast_scroll_handler_left_h.png";
768 part { name: "scrollbar_handler_image_hor";
769 clip_to: "sb_hbar_clip";
772 description { state: "default" 0.0;
774 rel1.relative: 0.5 0.5;
775 rel1.to: "elm.dragable.hbar";
776 rel2.relative: 0.5 0.5;
777 rel2.to: "elm.dragable.hbar";
779 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC;
781 normal: "00_fast_scroll_handler_center_h.png";
787 part { name: "h_scrollbar_handler_image_right";
788 clip_to: "sb_hbar_clip";
791 description { state: "default" 0.0;
793 rel1.relative: 1.0 0.0;
794 rel1.to: "scrollbar_handler_image_hor";
795 rel2.relative: 1.0 1.0;
796 rel2.to: "elm.dragable.hbar";
799 normal: "00_fast_scroll_handler_right_h.png";
805 part { name: "disabler";
808 description { state: "default" 0.0;
814 description { state: "disabled" 0.0;
815 inherit: "default" 0.0;
817 color: 128 128 128 128;
822 program { name: "load";
826 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
827 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
830 set_int(sbalways_v, 0);
831 set_int(sbalways_h, 0);
832 set_int(sbvis_timer, 0);
833 emit("reload", "elm");
836 program { name: "vbar_show";
837 signal: "elm,action,show,vbar";
839 action: STATE_SET "default" 0.0;
840 target: "sb_vbar_clip_master";
842 program { name: "vbar_hide";
843 signal: "elm,action,hide,vbar";
845 action: STATE_SET "hidden" 0.0;
846 target: "sb_vbar_clip_master";
848 program { name: "vbar_show_always";
849 signal: "elm,action,show_always,vbar";
853 v = get_int(sbvis_v);
854 v |= get_int(sbalways_v);
856 set_int(sbalways_v, 1);
857 emit("do-show-vbar", "");
862 program { name: "vbar_show_notalways";
863 signal: "elm,action,show_notalways,vbar";
867 v = get_int(sbalways_v);
869 set_int(sbalways_v, 0);
870 v = get_int(sbvis_v);
872 emit("do-hide-vbar", "");
878 program { name: "vbar_press";
879 signal: "mouse,down,1";
880 source: "elm.dragable.vbar";
881 action: SIGNAL_EMIT "elm,vbar,press" "elm";
883 program { name: "vbar_unpress";
884 signal: "mouse,up,1";
885 source: "elm.dragable.vbar";
886 action: SIGNAL_EMIT "elm,vbar,unpress" "elm";
888 program { name: "sb_vbar_show";
889 signal: "do-show-vbar";
891 action: STATE_SET "default" 0.0;
892 transition: LINEAR 0.5;
893 target: "sb_vbar_clip";
895 program { name: "sb_vbar_hide";
896 signal: "do-hide-vbar";
898 action: STATE_SET "hidden" 0.0;
899 transition: LINEAR 0.5;
900 target: "sb_vbar_clip";
902 program { name: "hbar_show";
903 signal: "elm,action,show,hbar";
905 action: STATE_SET "default" 0.0;
906 target: "sb_hbar_clip_master";
908 program { name: "hbar_hide";
909 signal: "elm,action,hide,hbar";
911 action: STATE_SET "hidden" 0.0;
912 target: "sb_hbar_clip_master";
914 program { name: "hbar_show_always";
915 signal: "elm,action,show_always,hbar";
919 v = get_int(sbvis_h);
920 v |= get_int(sbalways_h);
922 set_int(sbalways_h, 1);
923 emit("do-show-hbar", "");
928 program { name: "hbar_show_notalways";
929 signal: "elm,action,show_notalways,hbar";
933 v = get_int(sbalways_h);
935 set_int(sbalways_h, 0);
936 v = get_int(sbvis_h);
938 emit("do-hide-hbar", "");
944 program { name: "hbar_press";
945 signal: "mouse,down,1";
946 source: "elm.dragable.hbar";
947 action: SIGNAL_EMIT "elm,hbar,press" "elm";
949 program { name: "hbar_unpress";
950 signal: "mouse,up,1";
951 source: "elm.dragable.hbar";
952 action: SIGNAL_EMIT "elm,hbar,unpress" "elm";
954 program { name: "sb_hbar_show";
955 signal: "do-show-hbar";
957 action: STATE_SET "default" 0.0;
958 transition: LINEAR 0.5;
959 target: "sb_hbar_clip";
961 program { name: "sb_hbar_hide";
962 signal: "do-hide-hbar";
964 action: STATE_SET "hidden" 0.0;
965 transition: LINEAR 0.5;
966 target: "sb_hbar_clip";
969 program { name: "scroll";
970 signal: "elm,action,scroll";
974 v = get_int(sbvis_v);
975 v |= get_int(sbalways_v);
977 emit("do-show-vbar", "");
980 v = get_int(sbvis_h);
981 v |= get_int(sbalways_h);
983 emit("do-show-hbar", "");
986 v = get_int(sbvis_timer);
987 if (v > 0) cancel_timer(v);
988 v = timer(1.0, "timer0", 0);
989 set_int(sbvis_timer, v);
992 program { name: "disable";
993 signal: "elm,state,disabled";
995 action: STATE_SET "disabled" 0.0;
998 program { name: "enable";
999 signal: "elm,state,enabled";
1001 action: STATE_SET "default" 0.0;
1004 program { name: "show";
1009 emit("do-show-vbar", "");
1010 set_int(sbvis_v, 1);
1011 v = get_int(sbalways_v);
1013 v = get_int(sbvis_timer);
1014 if (v > 0) cancel_timer(v);
1015 v = timer(1.0, "timer0", 0);
1016 set_int(sbvis_timer, v);
1018 emit("do-show-hbar", "");
1019 set_int(sbvis_h, 1);
1020 v = get_int(sbalways_h);
1022 v = get_int(sbvis_timer);
1023 if (v > 0) cancel_timer(v);
1024 v = timer(1.0, "timer0", 0);
1025 set_int(sbvis_timer, v);
1032 group { name: "elm/genlist/base/default";
1033 alias: "elm/genscroller/base/default";
1034 alias: "elm/list/base/default";
1035 inherit: "elm/scroller/base/default";
1038 image: "00_overscrolling_top.png" COMP;
1039 image: "00_overscrolling_bottom.png" COMP;
1040 image: "00_overscrolling_left.png" COMP;
1041 image: "00_overscrolling_right.png" COMP;
1045 part { name: "vshadow_clip";
1049 description { state: "default" 0.0;
1051 description { state: "hidden" 0.0;
1053 color: 255 255 255 0;
1056 part { name: "hshadow_clip";
1060 description { state: "default" 0.0;
1062 description { state: "hidden" 0.0;
1064 color: 255 255 255 0;
1067 part { name: "shadow_top";
1068 clip_to: "vshadow_clip";
1072 description { state: "default" 0.0;
1076 color: 255 255 255 100;
1077 rel1.relative: 0.0 0.0;
1078 rel2.relative: 1.0 0.0;
1079 rel1.to: "elm.swallow.content";
1080 rel2.to: "elm.swallow.content";
1081 image.normal: "00_overscrolling_top.png";
1083 description { state: "hidden" 0.0;
1084 inherit: "default" 0.0;
1088 part { name: "shadow_bottom";
1089 clip_to: "vshadow_clip";
1093 description { state: "default" 0.0;
1097 color: 255 255 255 100;
1098 rel1.relative: 0.0 1.0;
1099 rel2.relative: 1.0 1.0;
1100 rel1.to: "elm.swallow.content";
1101 rel2.to: "elm.swallow.content";
1102 image.normal: "00_overscrolling_bottom.png";
1104 description { state: "hidden" 0.0;
1105 inherit: "default" 0.0;
1109 part { name: "shadow_left";
1110 clip_to: "hshadow_clip";
1114 description { state: "default" 0.0;
1118 color: 255 255 255 100;
1119 rel1.relative: 0.0 0.0;
1120 rel2.relative: 0.0 1.0;
1121 rel1.to: "elm.swallow.content";
1122 rel2.to: "elm.swallow.content";
1123 image.normal: "00_overscrolling_left.png";
1125 description { state: "hidden" 0.0;
1126 inherit: "default" 0.0;
1130 part { name: "shadow_right";
1131 clip_to: "hshadow_clip";
1135 description { state: "default" 0.0;
1139 color: 255 255 255 100;
1140 rel1.relative: 1.0 0.0;
1141 rel2.relative: 1.0 1.0;
1142 rel1.to: "elm.swallow.content";
1143 rel2.to: "elm.swallow.content";
1144 image.normal: "00_overscrolling_right.png";
1146 description { state: "hidden" 0.0;
1147 inherit: "default" 0.0;
1151 part { name: "padding_jump_to_top";
1154 description { state: "default" 0.0;
1155 min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1156 max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1157 rel1.relative: 1.0 0.0;
1158 rel2.relative: 1.0 0.0;
1159 rel1.to: "elm.swallow.content";
1160 rel2.to: "elm.swallow.content";
1165 part { name: "elm.swallow.jump_to_top";
1168 description { state: "default" 0.0;
1170 to: "padding_jump_to_top";
1174 to: "padding_jump_to_top";
1181 part { name: "padding_jump_to_left";
1184 description { state: "default" 0.0;
1185 min: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1186 max: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1187 rel1.relative: 0.0 1.0;
1188 rel2.relative: 0.0 1.0;
1189 rel1.to: "elm.swallow.content";
1190 rel2.to: "elm.swallow.content";
1195 part { name: "elm.swallow.jump_to_left";
1198 description { state: "default" 0.0;
1200 to: "padding_jump_to_left";
1204 to: "padding_jump_to_left";
1213 program { name: "load";
1215 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1216 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1217 set_state(PART:"vshadow_clip", "hidden", 0.0);
1218 set_state(PART:"hshadow_clip", "hidden", 0.0);
1219 set_int(sbvis_h, 0);
1220 set_int(sbvis_v, 0);
1221 set_int(sbalways_v, 0);
1222 set_int(sbalways_h, 0);
1223 set_int(sbvis_timer, 0);
1225 set_int(sh_timer, 0);
1226 set_int(edge_timer, 0);
1227 emit("reload", "elm");
1230 program { name: "vshadow_show";
1231 signal: "do-show-vshadow";
1233 action: STATE_SET "default" 0.0;
1234 transition: LINEAR 0.5;
1235 target: "vshadow_clip";
1237 program { name: "vshadow_hide";
1238 signal: "do-hide-vshadow";
1240 action: STATE_SET "hidden" 0.0;
1241 transition: LINEAR 0.2;
1242 target: "vshadow_clip";
1244 program { name: "hshadow_show";
1245 signal: "do-show-hshadow";
1247 action: STATE_SET "default" 0.0;
1248 transition: LINEAR 0.5;
1249 target: "hshadow_clip";
1251 program { name: "hshadow_hide";
1252 signal: "do-hide-hshadow";
1254 action: STATE_SET "hidden" 0.0;
1255 transition: LINEAR 0.2;
1256 target: "hshadow_clip";
1258 program { name: "scroll";
1259 signal: "elm,action,scroll";
1263 v = get_int(sbvis_v);
1264 v |= get_int(sbalways_v);
1266 emit("do-show-vbar", "");
1267 set_int(sbvis_v, 1);
1269 v = get_int(sbvis_h);
1270 v |= get_int(sbalways_h);
1272 emit("do-show-hbar", "");
1273 set_int(sbvis_h, 1);
1275 v = get_int(sbvis_timer);
1276 if (v > 0) cancel_timer(v);
1277 v = timer(1, "timer0", 0);
1278 set_int(sbvis_timer, v);
1281 program { name: "scroll_up";
1282 signal: "elm,action,scroll,up";
1284 after: "scroll_vertical";
1286 program { name: "scroll_down";
1287 signal: "elm,action,scroll,down";
1289 after: "scroll_vertical";
1291 program { name: "scroll_vertical";
1294 v = get_int(edge_timer);
1296 set_state(PART:"shadow_top", "default", 0.0);
1297 set_state(PART:"shadow_bottom", "default", 0.0);
1298 emit("do-show-vshadow", "");
1299 v = get_int(sh_timer);
1300 if (v > 0) cancel_timer(v);
1301 v = timer(0.1, "timer1", 0);
1302 set_int(sh_timer, v);
1306 program { name: "scroll_left";
1307 signal: "elm,action,scroll,left";
1309 after: "scroll_horizontal";
1311 program { name: "scroll_right";
1312 signal: "elm,action,scroll,right";
1314 after: "scroll_horizontal";
1316 program { name: "scroll_horizontal";
1319 v = get_int(edge_timer);
1321 set_state(PART:"shadow_left", "default", 0.0);
1322 set_state(PART:"shadow_right", "default", 0.0);
1323 emit("do-show-hshadow", "");
1324 v = get_int(sh_timer);
1325 if (v > 0) cancel_timer(v);
1326 v = timer(0.1, "timer1", 0);
1327 set_int(sh_timer, v);
1331 program { name: "edge_top";
1332 signal: "elm,edge,top";
1335 set_state(PART:"shadow_top", "hidden", 0.0);
1336 set_state(PART:"shadow_bottom", "hidden", 0.0);
1338 after: "edge_vertical";
1340 program { name: "edge_bottom";
1341 signal: "elm,edge,bottom";
1344 set_state(PART:"shadow_top", "hidden", 0.0);
1345 set_state(PART:"shadow_bottom", "hidden", 0.0);
1347 after: "edge_vertical";
1349 program { name: "edge_left";
1350 signal: "elm,edge,left";
1353 set_state(PART:"shadow_left", "hidden", 0.0);
1354 set_state(PART:"shadow_right", "hidden", 0.0);
1356 after: "edge_horizontal";
1358 program { name: "edge_right";
1359 signal: "elm,edge,right";
1362 set_state(PART:"shadow_left", "hidden", 0.0);
1363 set_state(PART:"shadow_right", "hidden", 0.0);
1365 after: "edge_horizontal";
1367 program { name: "edge_vertical";
1370 v = get_int(sh_timer);
1371 if (v > 0) cancel_timer(v);
1372 v = get_int(edge_timer);
1374 emit("do-show-vshadow", "");
1376 if (v > 0) cancel_timer(v);
1377 v = timer(0.1, "timer2", 0);
1378 set_int(edge_timer, v);
1381 program { name: "edge_horizontal";
1384 v = get_int(sh_timer);
1385 if (v > 0) cancel_timer(v);
1386 v = get_int(edge_timer);
1388 emit("do-show-hshadow", "");
1390 if (v > 0) cancel_timer(v);
1391 v = timer(0.1, "timer2", 0);
1392 set_int(edge_timer, v);
1398 group { name: "elm/genlist/base/handler";
1399 alias: "elm/genscroller/base/handler";
1400 alias: "elm/list/base/handler";
1401 inherit: "elm/scroller/base/handler";
1404 image: "00_overscrolling_top.png" COMP;
1405 image: "00_overscrolling_bottom.png" COMP;
1406 image: "00_overscrolling_left.png" COMP;
1407 image: "00_overscrolling_right.png" COMP;
1411 part { name: "vshadow_clip";
1415 description { state: "default" 0.0;
1417 description { state: "hidden" 0.0;
1419 color: 255 255 255 0;
1422 part { name: "hshadow_clip";
1426 description { state: "default" 0.0;
1428 description { state: "hidden" 0.0;
1430 color: 255 255 255 0;
1433 part { name: "shadow_top";
1434 clip_to: "vshadow_clip";
1438 description { state: "default" 0.0;
1442 color: 255 255 255 100;
1443 rel1.relative: 0.0 0.0;
1444 rel2.relative: 1.0 0.0;
1445 rel1.to: "elm.swallow.content";
1446 rel2.to: "elm.swallow.content";
1447 image.normal: "00_overscrolling_top.png";
1449 description { state: "hidden" 0.0;
1450 inherit: "default" 0.0;
1454 part { name: "shadow_bottom";
1455 clip_to: "vshadow_clip";
1459 description { state: "default" 0.0;
1463 color: 255 255 255 100;
1464 rel1.relative: 0.0 1.0;
1465 rel2.relative: 1.0 1.0;
1466 rel1.to: "elm.swallow.content";
1467 rel2.to: "elm.swallow.content";
1468 image.normal: "00_overscrolling_bottom.png";
1470 description { state: "hidden" 0.0;
1471 inherit: "default" 0.0;
1475 part { name: "shadow_left";
1476 clip_to: "hshadow_clip";
1480 description { state: "default" 0.0;
1484 color: 255 255 255 100;
1485 rel1.relative: 0.0 0.0;
1486 rel2.relative: 0.0 1.0;
1487 rel1.to: "elm.swallow.content";
1488 rel2.to: "elm.swallow.content";
1489 image.normal: "00_overscrolling_left.png";
1491 description { state: "hidden" 0.0;
1492 inherit: "default" 0.0;
1496 part { name: "shadow_right";
1497 clip_to: "hshadow_clip";
1501 description { state: "default" 0.0;
1505 color: 255 255 255 100;
1506 rel1.relative: 1.0 0.0;
1507 rel2.relative: 1.0 1.0;
1508 rel1.to: "elm.swallow.content";
1509 rel2.to: "elm.swallow.content";
1510 image.normal: "00_overscrolling_right.png";
1512 description { state: "hidden" 0.0;
1513 inherit: "default" 0.0;
1519 program { name: "load";
1523 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1524 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1525 set_state(PART:"vshadow_clip", "hidden", 0.0);
1526 set_state(PART:"hshadow_clip", "hidden", 0.0);
1527 set_int(sbvis_h, 0);
1528 set_int(sbvis_v, 0);
1529 set_int(sbalways_v, 0);
1530 set_int(sbalways_h, 0);
1531 set_int(sbvis_timer, 0);
1532 set_int(sh_timer, 0);
1533 set_int(edge_timer, 0);
1534 emit("reload", "elm");
1537 program { name: "vbar_show_always";
1538 signal: "elm,action,show_always,vbar";
1542 v = get_int(sbvis_v);
1543 v |= get_int(sbalways_v);
1545 set_int(sbalways_v, 1);
1546 emit("do-show-vbar", "");
1547 set_int(sbvis_v, 1);
1551 program { name: "vbar_show_notalways";
1552 signal: "elm,action,show_notalways,vbar";
1556 v = get_int(sbalways_v);
1558 set_int(sbalways_v, 0);
1559 v = get_int(sbvis_v);
1561 emit("do-hide-vbar", "");
1562 set_int(sbvis_v, 0);
1567 program { name: "hbar_show_always";
1568 signal: "elm,action,show_always,hbar";
1572 v = get_int(sbvis_h);
1573 v |= get_int(sbalways_h);
1575 set_int(sbalways_h, 1);
1576 emit("do-show-hbar", "");
1577 set_int(sbvis_h, 1);
1581 program { name: "hbar_show_notalways";
1582 signal: "elm,action,show_notalways,hbar";
1586 v = get_int(sbalways_h);
1588 set_int(sbalways_h, 0);
1589 v = get_int(sbvis_h);
1591 emit("do-hide-hbar", "");
1592 set_int(sbvis_h, 0);
1597 program { name: "vshadow_show";
1598 signal: "do-show-vshadow";
1600 action: STATE_SET "default" 0.0;
1601 transition: LINEAR 0.5;
1602 target: "vshadow_clip";
1604 program { name: "vshadow_hide";
1605 signal: "do-hide-vshadow";
1607 action: STATE_SET "hidden" 0.0;
1608 transition: LINEAR 0.2;
1609 target: "vshadow_clip";
1611 program { name: "hshadow_show";
1612 signal: "do-show-hshadow";
1614 action: STATE_SET "default" 0.0;
1615 transition: LINEAR 0.5;
1616 target: "hshadow_clip";
1618 program { name: "hshadow_hide";
1619 signal: "do-hide-hshadow";
1621 action: STATE_SET "hidden" 0.0;
1622 transition: LINEAR 0.2;
1623 target: "hshadow_clip";
1625 program { name: "scroll";
1626 signal: "elm,action,scroll";
1630 v = get_int(sbvis_v);
1631 v |= get_int(sbalways_v);
1633 emit("do-show-vbar", "");
1634 set_int(sbvis_v, 1);
1636 v = get_int(sbvis_h);
1637 v |= get_int(sbalways_h);
1639 emit("do-show-hbar", "");
1640 set_int(sbvis_h, 1);
1642 v = get_int(sbvis_timer);
1643 if (v > 0) cancel_timer(v);
1644 v = timer(1, "timer0", 0);
1645 set_int(sbvis_timer, v);
1648 program { name: "scroll_up";
1649 signal: "elm,action,scroll,up";
1651 after: "scroll_vertical";
1653 program { name: "scroll_down";
1654 signal: "elm,action,scroll,down";
1656 after: "scroll_vertical";
1658 program { name: "scroll_vertical";
1661 v = get_int(edge_timer);
1663 set_state(PART:"shadow_top", "default", 0.0);
1664 set_state(PART:"shadow_bottom", "default", 0.0);
1665 emit("do-show-vshadow", "");
1666 v = get_int(sh_timer);
1667 if (v > 0) cancel_timer(v);
1668 v = timer(0.1, "timer1", 0);
1669 set_int(sh_timer, v);
1673 program { name: "scroll_left";
1674 signal: "elm,action,scroll,left";
1676 after: "scroll_horizontal";
1678 program { name: "scroll_right";
1679 signal: "elm,action,scroll,right";
1681 after: "scroll_horizontal";
1683 program { name: "scroll_horizontal";
1686 v = get_int(edge_timer);
1688 set_state(PART:"shadow_left", "default", 0.0);
1689 set_state(PART:"shadow_right", "default", 0.0);
1690 emit("do-show-hshadow", "");
1691 v = get_int(sh_timer);
1692 if (v > 0) cancel_timer(v);
1693 v = timer(0.1, "timer1", 0);
1694 set_int(sh_timer, v);
1698 program { name: "edge_top";
1699 signal: "elm,edge,top";
1702 set_state(PART:"shadow_top", "hidden", 0.0);
1703 set_state(PART:"shadow_bottom", "hidden", 0.0);
1705 after: "edge_vertical";
1707 program { name: "edge_bottom";
1708 signal: "elm,edge,bottom";
1711 set_state(PART:"shadow_top", "hidden", 0.0);
1712 set_state(PART:"shadow_bottom", "hidden", 0.0);
1714 after: "edge_vertical";
1716 program { name: "edge_left";
1717 signal: "elm,edge,left";
1720 set_state(PART:"shadow_left", "hidden", 0.0);
1721 set_state(PART:"shadow_right", "hidden", 0.0);
1723 after: "edge_horizontal";
1725 program { name: "edge_right";
1726 signal: "elm,edge,right";
1729 set_state(PART:"shadow_left", "hidden", 0.0);
1730 set_state(PART:"shadow_right", "hidden", 0.0);
1732 after: "edge_horizontal";
1734 program { name: "edge_vertical";
1737 v = get_int(sh_timer);
1738 if (v > 0) cancel_timer(v);
1739 v = get_int(edge_timer);
1741 emit("do-show-vshadow", "");
1743 if (v > 0) cancel_timer(v);
1744 v = timer(0.1, "timer2", 0);
1745 set_int(edge_timer, v);
1748 program { name: "edge_horizontal";
1751 v = get_int(sh_timer);
1752 if (v > 0) cancel_timer(v);
1753 v = get_int(edge_timer);
1755 emit("do-show-hshadow", "");
1757 if (v > 0) cancel_timer(v);
1758 v = timer(0.1, "timer2", 0);
1759 set_int(edge_timer, v);
1765 group { name: "elm/gengrid/base/default";
1766 inherit: "elm/genlist/base/default";
1769 image: "00_grid_overscrolling_top.png" COMP;
1770 image: "00_grid_overscrolling_bottom.png" COMP;
1771 image: "00_grid_overscrolling_left.png" COMP;
1772 image: "00_grid_overscrolling_right.png" COMP;
1776 part { name: "shadow_top";
1777 description { state: "default" 0.0;
1779 image.normal: "00_grid_overscrolling_top.png";
1782 part { name: "shadow_bottom";
1783 description { state: "default" 0.0;
1785 image.normal: "00_grid_overscrolling_bottom.png";
1788 part { name: "shadow_left";
1789 description { state: "default" 0.0;
1791 image.normal: "00_grid_overscrolling_left.png";
1794 part { name: "shadow_right";
1795 description { state: "default" 0.0;
1797 image.normal: "00_grid_overscrolling_right.png";
1803 group { name: "elm/gengrid/base/handler";
1804 inherit: "elm/genlist/base/handler";
1807 part { name: "shadow_top";
1808 description { state: "default" 0.0;
1810 image.normal: "00_grid_overscrolling_top.png";
1813 part { name: "shadow_bottom";
1814 description { state: "default" 0.0;
1816 image.normal: "00_grid_overscrolling_bottom.png";
1819 part { name: "shadow_left";
1820 description { state: "default" 0.0;
1822 image.normal: "00_grid_overscrolling_left.png";
1825 part { name: "shadow_right";
1826 description { state: "default" 0.0;
1828 image.normal: "00_grid_overscrolling_right.png";
1834 group { name: "elm/scroller/contents/default";
1836 part { name: "elm.swallow.content";
1838 description { state: "default" 0.0;
1841 part { name: "elm.swallow.content_r";
1843 description { state: "default" 0.0;
1847 to: "elm.swallow.content";
1851 to: "elm.swallow.content";
1855 part { name: "elm.swallow.content_b";
1857 description { state: "default" 0.0;
1861 to: "elm.swallow.content";
1865 to: "elm.swallow.content";
1869 part { name: "elm.swallow.content_rb";
1871 description { state: "default" 0.0;
1875 to: "elm.swallow.content";
1879 to: "elm.swallow.content";