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: "edge" 0.0;
1084 inherit: "default" 0.0;
1085 color: 255 255 255 255;
1087 description { state: "edge_op" 0.0;
1088 inherit: "default" 0.0;
1089 color: 255 255 255 65;
1092 part { name: "shadow_bottom";
1093 clip_to: "vshadow_clip";
1097 description { state: "default" 0.0;
1101 color: 255 255 255 100;
1102 rel1.relative: 0.0 1.0;
1103 rel2.relative: 1.0 1.0;
1104 rel1.to: "elm.swallow.content";
1105 rel2.to: "elm.swallow.content";
1106 image.normal: "00_overscrolling_bottom.png";
1108 description { state: "edge" 0.0;
1109 inherit: "default" 0.0;
1110 color: 255 255 255 255;
1112 description { state: "edge_op" 0.0;
1113 inherit: "default" 0.0;
1114 color: 255 255 255 65;
1117 part { name: "shadow_left";
1118 clip_to: "hshadow_clip";
1122 description { state: "default" 0.0;
1126 color: 255 255 255 100;
1127 rel1.relative: 0.0 0.0;
1128 rel2.relative: 0.0 1.0;
1129 rel1.to: "elm.swallow.content";
1130 rel2.to: "elm.swallow.content";
1131 image.normal: "00_overscrolling_left.png";
1133 description { state: "edge" 0.0;
1134 inherit: "default" 0.0;
1135 color: 255 255 255 255;
1137 description { state: "edge_op" 0.0;
1138 inherit: "default" 0.0;
1139 color: 255 255 255 65;
1142 part { name: "shadow_right";
1143 clip_to: "hshadow_clip";
1147 description { state: "default" 0.0;
1151 color: 255 255 255 100;
1152 rel1.relative: 1.0 0.0;
1153 rel2.relative: 1.0 1.0;
1154 rel1.to: "elm.swallow.content";
1155 rel2.to: "elm.swallow.content";
1156 image.normal: "00_overscrolling_right.png";
1158 description { state: "edge" 0.0;
1159 inherit: "default" 0.0;
1160 color: 255 255 255 255;
1162 description { state: "edge_op" 0.0;
1163 inherit: "default" 0.0;
1164 color: 255 255 255 65;
1167 part { name: "padding_jump_to_top";
1170 description { state: "default" 0.0;
1171 min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1172 max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1173 rel1.relative: 1.0 0.0;
1174 rel2.relative: 1.0 0.0;
1175 rel1.to: "elm.swallow.content";
1176 rel2.to: "elm.swallow.content";
1181 part { name: "elm.swallow.jump_to_top";
1184 description { state: "default" 0.0;
1186 to: "padding_jump_to_top";
1190 to: "padding_jump_to_top";
1197 part { name: "padding_jump_to_left";
1200 description { state: "default" 0.0;
1201 min: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1202 max: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1203 rel1.relative: 0.0 1.0;
1204 rel2.relative: 0.0 1.0;
1205 rel1.to: "elm.swallow.content";
1206 rel2.to: "elm.swallow.content";
1211 part { name: "elm.swallow.jump_to_left";
1214 description { state: "default" 0.0;
1216 to: "padding_jump_to_left";
1220 to: "padding_jump_to_left";
1229 program { name: "load";
1231 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1232 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1233 set_state(PART:"vshadow_clip", "hidden", 0.0);
1234 set_state(PART:"hshadow_clip", "hidden", 0.0);
1235 set_int(sbvis_h, 0);
1236 set_int(sbvis_v, 0);
1237 set_int(sbalways_v, 0);
1238 set_int(sbalways_h, 0);
1239 set_int(sbvis_timer, 0);
1241 set_int(sh_timer, 0);
1242 set_int(edge_timer, 0);
1243 emit("reload", "elm");
1246 program { name: "vshadow_show";
1247 signal: "do-show-vshadow";
1249 action: STATE_SET "default" 0.0;
1250 transition: LINEAR 0.5;
1251 target: "vshadow_clip";
1253 program { name: "vshadow_hide";
1254 signal: "do-hide-vshadow";
1256 action: STATE_SET "hidden" 0.0;
1257 transition: LINEAR 0.2;
1258 target: "vshadow_clip";
1260 program { name: "hshadow_show";
1261 signal: "do-show-hshadow";
1263 action: STATE_SET "default" 0.0;
1264 transition: LINEAR 0.5;
1265 target: "hshadow_clip";
1267 program { name: "hshadow_hide";
1268 signal: "do-hide-hshadow";
1270 action: STATE_SET "hidden" 0.0;
1271 transition: LINEAR 0.2;
1272 target: "hshadow_clip";
1274 program { name: "scroll";
1275 signal: "elm,action,scroll";
1279 v = get_int(sbvis_v);
1280 v |= get_int(sbalways_v);
1282 emit("do-show-vbar", "");
1283 set_int(sbvis_v, 1);
1285 v = get_int(sbvis_h);
1286 v |= get_int(sbalways_h);
1288 emit("do-show-hbar", "");
1289 set_int(sbvis_h, 1);
1291 v = get_int(sbvis_timer);
1292 if (v > 0) cancel_timer(v);
1293 v = timer(1, "timer0", 0);
1294 set_int(sbvis_timer, v);
1297 program { name: "scroll_up";
1298 signal: "elm,action,scroll,up";
1300 after: "scroll_vertical";
1302 program { name: "scroll_down";
1303 signal: "elm,action,scroll,down";
1305 after: "scroll_vertical";
1307 program { name: "scroll_vertical";
1310 v = get_int(edge_timer);
1312 set_state(PART:"shadow_top", "default", 0.0);
1313 set_state(PART:"shadow_bottom", "default", 0.0);
1314 emit("do-show-vshadow", "");
1315 v = get_int(sh_timer);
1316 if (v > 0) cancel_timer(v);
1317 v = timer(0.1, "timer1", 0);
1318 set_int(sh_timer, v);
1322 program { name: "scroll_left";
1323 signal: "elm,action,scroll,left";
1325 after: "scroll_horizontal";
1327 program { name: "scroll_right";
1328 signal: "elm,action,scroll,right";
1330 after: "scroll_horizontal";
1332 program { name: "scroll_horizontal";
1335 v = get_int(edge_timer);
1337 set_state(PART:"shadow_left", "default", 0.0);
1338 set_state(PART:"shadow_right", "default", 0.0);
1339 emit("do-show-hshadow", "");
1340 v = get_int(sh_timer);
1341 if (v > 0) cancel_timer(v);
1342 v = timer(0.1, "timer1", 0);
1343 set_int(sh_timer, v);
1347 program { name: "edge_top";
1348 signal: "elm,edge,top";
1351 set_state(PART:"shadow_top", "edge", 0.0);
1352 set_state(PART:"shadow_bottom", "edge_op", 0.0);
1354 after: "edge_vertical";
1356 program { name: "edge_bottom";
1357 signal: "elm,edge,bottom";
1360 set_state(PART:"shadow_top", "edge_op", 0.0);
1361 set_state(PART:"shadow_bottom", "edge", 0.0);
1363 after: "edge_vertical";
1365 program { name: "edge_left";
1366 signal: "elm,edge,left";
1369 set_state(PART:"shadow_left", "edge", 0.0);
1370 set_state(PART:"shadow_right", "edge_op", 0.0);
1372 after: "edge_horizontal";
1374 program { name: "edge_right";
1375 signal: "elm,edge,right";
1378 set_state(PART:"shadow_left", "edge_op", 0.0);
1379 set_state(PART:"shadow_right", "edge", 0.0);
1381 after: "edge_horizontal";
1383 program { name: "edge_vertical";
1386 v = get_int(sh_timer);
1387 if (v > 0) cancel_timer(v);
1388 v = get_int(edge_timer);
1390 emit("do-show-vshadow", "");
1392 if (v > 0) cancel_timer(v);
1393 v = timer(0.1, "timer2", 0);
1394 set_int(edge_timer, v);
1397 program { name: "edge_horizontal";
1400 v = get_int(sh_timer);
1401 if (v > 0) cancel_timer(v);
1402 v = get_int(edge_timer);
1404 emit("do-show-hshadow", "");
1406 if (v > 0) cancel_timer(v);
1407 v = timer(0.1, "timer2", 0);
1408 set_int(edge_timer, v);
1414 group { name: "elm/genlist/base/handler";
1415 alias: "elm/genscroller/base/handler";
1416 alias: "elm/list/base/handler";
1417 inherit: "elm/scroller/base/handler";
1420 image: "00_overscrolling_top.png" COMP;
1421 image: "00_overscrolling_bottom.png" COMP;
1422 image: "00_overscrolling_left.png" COMP;
1423 image: "00_overscrolling_right.png" COMP;
1427 part { name: "vshadow_clip";
1431 description { state: "default" 0.0;
1433 description { state: "hidden" 0.0;
1435 color: 255 255 255 0;
1438 part { name: "hshadow_clip";
1442 description { state: "default" 0.0;
1444 description { state: "hidden" 0.0;
1446 color: 255 255 255 0;
1449 part { name: "shadow_top";
1450 clip_to: "vshadow_clip";
1454 description { state: "default" 0.0;
1458 color: 255 255 255 100;
1459 rel1.relative: 0.0 0.0;
1460 rel2.relative: 1.0 0.0;
1461 rel1.to: "elm.swallow.content";
1462 rel2.to: "elm.swallow.content";
1463 image.normal: "00_overscrolling_top.png";
1465 description { state: "edge" 0.0;
1466 inherit: "default" 0.0;
1467 color: 255 255 255 255;
1469 description { state: "hidden" 0.0;
1470 inherit: "default" 0.0;
1474 part { name: "shadow_bottom";
1475 clip_to: "vshadow_clip";
1479 description { state: "default" 0.0;
1483 color: 255 255 255 100;
1484 rel1.relative: 0.0 1.0;
1485 rel2.relative: 1.0 1.0;
1486 rel1.to: "elm.swallow.content";
1487 rel2.to: "elm.swallow.content";
1488 image.normal: "00_overscrolling_bottom.png";
1490 description { state: "edge" 0.0;
1491 inherit: "default" 0.0;
1492 color: 255 255 255 255;
1494 description { state: "hidden" 0.0;
1495 inherit: "default" 0.0;
1499 part { name: "shadow_left";
1500 clip_to: "hshadow_clip";
1504 description { state: "default" 0.0;
1508 color: 255 255 255 100;
1509 rel1.relative: 0.0 0.0;
1510 rel2.relative: 0.0 1.0;
1511 rel1.to: "elm.swallow.content";
1512 rel2.to: "elm.swallow.content";
1513 image.normal: "00_overscrolling_left.png";
1515 description { state: "edge" 0.0;
1516 inherit: "default" 0.0;
1517 color: 255 255 255 255;
1519 description { state: "hidden" 0.0;
1520 inherit: "default" 0.0;
1524 part { name: "shadow_right";
1525 clip_to: "hshadow_clip";
1529 description { state: "default" 0.0;
1533 color: 255 255 255 100;
1534 rel1.relative: 1.0 0.0;
1535 rel2.relative: 1.0 1.0;
1536 rel1.to: "elm.swallow.content";
1537 rel2.to: "elm.swallow.content";
1538 image.normal: "00_overscrolling_right.png";
1540 description { state: "edge" 0.0;
1541 inherit: "default" 0.0;
1542 color: 255 255 255 255;
1544 description { state: "hidden" 0.0;
1545 inherit: "default" 0.0;
1551 program { name: "load";
1555 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1556 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1557 set_state(PART:"vshadow_clip", "hidden", 0.0);
1558 set_state(PART:"hshadow_clip", "hidden", 0.0);
1559 set_int(sbvis_h, 0);
1560 set_int(sbvis_v, 0);
1561 set_int(sbalways_v, 0);
1562 set_int(sbalways_h, 0);
1563 set_int(sbvis_timer, 0);
1564 set_int(sh_timer, 0);
1565 set_int(edge_timer, 0);
1566 emit("reload", "elm");
1569 program { name: "vbar_show_always";
1570 signal: "elm,action,show_always,vbar";
1574 v = get_int(sbvis_v);
1575 v |= get_int(sbalways_v);
1577 set_int(sbalways_v, 1);
1578 emit("do-show-vbar", "");
1579 set_int(sbvis_v, 1);
1583 program { name: "vbar_show_notalways";
1584 signal: "elm,action,show_notalways,vbar";
1588 v = get_int(sbalways_v);
1590 set_int(sbalways_v, 0);
1591 v = get_int(sbvis_v);
1593 emit("do-hide-vbar", "");
1594 set_int(sbvis_v, 0);
1599 program { name: "hbar_show_always";
1600 signal: "elm,action,show_always,hbar";
1604 v = get_int(sbvis_h);
1605 v |= get_int(sbalways_h);
1607 set_int(sbalways_h, 1);
1608 emit("do-show-hbar", "");
1609 set_int(sbvis_h, 1);
1613 program { name: "hbar_show_notalways";
1614 signal: "elm,action,show_notalways,hbar";
1618 v = get_int(sbalways_h);
1620 set_int(sbalways_h, 0);
1621 v = get_int(sbvis_h);
1623 emit("do-hide-hbar", "");
1624 set_int(sbvis_h, 0);
1629 program { name: "vshadow_show";
1630 signal: "do-show-vshadow";
1632 action: STATE_SET "default" 0.0;
1633 transition: LINEAR 0.5;
1634 target: "vshadow_clip";
1636 program { name: "vshadow_hide";
1637 signal: "do-hide-vshadow";
1639 action: STATE_SET "hidden" 0.0;
1640 transition: LINEAR 0.2;
1641 target: "vshadow_clip";
1643 program { name: "hshadow_show";
1644 signal: "do-show-hshadow";
1646 action: STATE_SET "default" 0.0;
1647 transition: LINEAR 0.5;
1648 target: "hshadow_clip";
1650 program { name: "hshadow_hide";
1651 signal: "do-hide-hshadow";
1653 action: STATE_SET "hidden" 0.0;
1654 transition: LINEAR 0.2;
1655 target: "hshadow_clip";
1657 program { name: "scroll";
1658 signal: "elm,action,scroll";
1662 v = get_int(sbvis_v);
1663 v |= get_int(sbalways_v);
1665 emit("do-show-vbar", "");
1666 set_int(sbvis_v, 1);
1668 v = get_int(sbvis_h);
1669 v |= get_int(sbalways_h);
1671 emit("do-show-hbar", "");
1672 set_int(sbvis_h, 1);
1674 v = get_int(sbvis_timer);
1675 if (v > 0) cancel_timer(v);
1676 v = timer(1, "timer0", 0);
1677 set_int(sbvis_timer, v);
1680 program { name: "scroll_up";
1681 signal: "elm,action,scroll,up";
1683 after: "scroll_vertical";
1685 program { name: "scroll_down";
1686 signal: "elm,action,scroll,down";
1688 after: "scroll_vertical";
1690 program { name: "scroll_vertical";
1693 v = get_int(edge_timer);
1695 set_state(PART:"shadow_top", "default", 0.0);
1696 set_state(PART:"shadow_bottom", "default", 0.0);
1697 emit("do-show-vshadow", "");
1698 v = get_int(sh_timer);
1699 if (v > 0) cancel_timer(v);
1700 v = timer(0.1, "timer1", 0);
1701 set_int(sh_timer, v);
1705 program { name: "scroll_left";
1706 signal: "elm,action,scroll,left";
1708 after: "scroll_horizontal";
1710 program { name: "scroll_right";
1711 signal: "elm,action,scroll,right";
1713 after: "scroll_horizontal";
1715 program { name: "scroll_horizontal";
1718 v = get_int(edge_timer);
1720 set_state(PART:"shadow_left", "default", 0.0);
1721 set_state(PART:"shadow_right", "default", 0.0);
1722 emit("do-show-hshadow", "");
1723 v = get_int(sh_timer);
1724 if (v > 0) cancel_timer(v);
1725 v = timer(0.1, "timer1", 0);
1726 set_int(sh_timer, v);
1730 program { name: "edge_top";
1731 signal: "elm,edge,top";
1734 set_state(PART:"shadow_top", "edge", 0.0);
1735 set_state(PART:"shadow_bottom", "hidden", 0.0);
1737 after: "edge_vertical";
1739 program { name: "edge_bottom";
1740 signal: "elm,edge,bottom";
1743 set_state(PART:"shadow_top", "hidden", 0.0);
1744 set_state(PART:"shadow_bottom", "edge", 0.0);
1746 after: "edge_vertical";
1748 program { name: "edge_left";
1749 signal: "elm,edge,left";
1752 set_state(PART:"shadow_left", "edge", 0.0);
1753 set_state(PART:"shadow_right", "hidden", 0.0);
1755 after: "edge_horizontal";
1757 program { name: "edge_right";
1758 signal: "elm,edge,right";
1761 set_state(PART:"shadow_left", "hidden", 0.0);
1762 set_state(PART:"shadow_right", "edge", 0.0);
1764 after: "edge_horizontal";
1766 program { name: "edge_vertical";
1769 v = get_int(sh_timer);
1770 if (v > 0) cancel_timer(v);
1771 v = get_int(edge_timer);
1773 emit("do-show-vshadow", "");
1775 if (v > 0) cancel_timer(v);
1776 v = timer(0.1, "timer2", 0);
1777 set_int(edge_timer, v);
1780 program { name: "edge_horizontal";
1783 v = get_int(sh_timer);
1784 if (v > 0) cancel_timer(v);
1785 v = get_int(edge_timer);
1787 emit("do-show-hshadow", "");
1789 if (v > 0) cancel_timer(v);
1790 v = timer(0.1, "timer2", 0);
1791 set_int(edge_timer, v);
1797 group { name: "elm/gengrid/base/default";
1798 inherit: "elm/genlist/base/default";
1801 image: "00_grid_overscrolling_top.png" COMP;
1802 image: "00_grid_overscrolling_bottom.png" COMP;
1803 image: "00_grid_overscrolling_left.png" COMP;
1804 image: "00_grid_overscrolling_right.png" COMP;
1808 part { name: "shadow_top";
1809 description { state: "default" 0.0;
1811 image.normal: "00_grid_overscrolling_top.png";
1813 description { state: "edge" 0.0;
1814 inherit: "default" 0.0;
1815 color: 255 255 255 255;
1818 part { name: "shadow_bottom";
1819 description { state: "default" 0.0;
1821 image.normal: "00_grid_overscrolling_bottom.png";
1823 description { state: "edge" 0.0;
1824 inherit: "default" 0.0;
1825 color: 255 255 255 255;
1828 part { name: "shadow_left";
1829 description { state: "default" 0.0;
1831 image.normal: "00_grid_overscrolling_left.png";
1833 description { state: "edge" 0.0;
1834 inherit: "default" 0.0;
1835 color: 255 255 255 255;
1838 part { name: "shadow_right";
1839 description { state: "default" 0.0;
1841 image.normal: "00_grid_overscrolling_right.png";
1843 description { state: "edge" 0.0;
1844 inherit: "default" 0.0;
1845 color: 255 255 255 255;
1851 group { name: "elm/gengrid/base/handler";
1852 inherit: "elm/genlist/base/handler";
1855 part { name: "shadow_top";
1856 description { state: "default" 0.0;
1858 image.normal: "00_grid_overscrolling_top.png";
1860 description { state: "edge" 0.0;
1861 inherit: "default" 0.0;
1862 color: 255 255 255 255;
1865 part { name: "shadow_bottom";
1866 description { state: "default" 0.0;
1868 image.normal: "00_grid_overscrolling_bottom.png";
1870 description { state: "edge" 0.0;
1871 inherit: "default" 0.0;
1872 color: 255 255 255 255;
1875 part { name: "shadow_left";
1876 description { state: "default" 0.0;
1878 image.normal: "00_grid_overscrolling_left.png";
1880 description { state: "edge" 0.0;
1881 inherit: "default" 0.0;
1882 color: 255 255 255 255;
1885 part { name: "shadow_right";
1886 description { state: "default" 0.0;
1888 image.normal: "00_grid_overscrolling_right.png";
1890 description { state: "edge" 0.0;
1891 inherit: "default" 0.0;
1892 color: 255 255 255 255;
1898 group { name: "elm/scroller/contents/default";
1900 part { name: "elm.swallow.content";
1902 description { state: "default" 0.0;
1905 part { name: "elm.swallow.content_r";
1907 description { state: "default" 0.0;
1911 to: "elm.swallow.content";
1915 to: "elm.swallow.content";
1919 part { name: "elm.swallow.content_b";
1921 description { state: "default" 0.0;
1925 to: "elm.swallow.content";
1929 to: "elm.swallow.content";
1933 part { name: "elm.swallow.content_rb";
1935 description { state: "default" 0.0;
1939 to: "elm.swallow.content";
1943 to: "elm.swallow.content";