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;
444 group { name: "elm/scroller/base/handler";
445 alias: "elm/carousel/base/handler";
448 item: "focus_highlight" "on";
451 public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
452 public sh_timer, edge_timer;
455 v = get_int(sbvis_v);
457 v = get_int(sbalways_v);
459 emit("do-hide-vbar", "");
463 v = get_int(sbvis_h);
465 v = get_int(sbalways_h);
467 emit("do-hide-hbar", "");
471 set_int(sbvis_timer, 0);
475 emit("do-hide-vshadow", "");
476 emit("do-hide-hshadow", "");
477 set_int(sh_timer, 0);
481 emit("do-hide-vshadow", "");
482 emit("do-hide-hshadow", "");
483 set_int(edge_timer, 0);
488 image: "00_fast_scroll_handler_top.png" COMP;
489 image: "00_fast_scroll_handler_center.png" COMP;
490 image: "00_fast_scroll_handler_bottom.png" COMP;
491 image: "00_fast_scroll_handler_left_h.png" COMP;
492 image: "00_fast_scroll_handler_center_h.png" COMP;
493 image: "00_fast_scroll_handler_right_h.png" COMP;
499 description { state: "default" 0.0;
502 color: 255 255 255 0;
505 part { name: "clipper";
509 description { state: "default" 0.0;
516 part { name: "elm.swallow.content";
520 description { state: "default" 0.0;
527 part { name: "sb_vbar_clip_master";
531 description { state: "default" 0.0;
533 description { state: "hidden" 0.0;
535 color: 255 255 255 0;
538 part { name: "sb_vbar_clip";
539 clip_to: "sb_vbar_clip_master";
543 description { state: "default" 0.0;
545 description { state: "hidden" 0.0;
547 color: 255 255 255 0;
550 part { name: "sb_vbar";
554 description { state: "default" 0.0;
557 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
561 to_y: "elm.swallow.content";
562 to_x: "elm.swallow.content";
567 to_x: "elm.swallow.content";
571 part { name: "elm.dragable.vbar";
573 clip_to: "sb_vbar_clip";
581 description { state: "default" 0.0;
584 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
598 part { name: "scrollbar_handler_image_top";
599 clip_to: "sb_vbar_clip";
602 description { state: "default" 0.0;
604 rel1.relative: 0.0 0.0;
605 rel1.to: "elm.dragable.vbar";
606 rel2.relative: 1.0 0.0;
607 rel2.to: "scrollbar_handler_image_middle";
610 normal: "00_fast_scroll_handler_top.png";
616 part { name: "scrollbar_handler_image_middle";
617 clip_to: "sb_vbar_clip";
620 description { state: "default" 0.0;
622 rel1.relative: 0.5 0.5;
623 rel1.to: "elm.dragable.vbar";
624 rel2.relative: 0.5 0.5;
625 rel2.to: "elm.dragable.vbar";
627 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC;
629 normal: "00_fast_scroll_handler_center.png";
635 part { name: "scrollbar_handler_image_bottom";
636 clip_to: "sb_vbar_clip";
639 description { state: "default" 0.0;
641 rel1.relative: 0.0 1.0;
642 rel1.to: "scrollbar_handler_image_middle";
643 rel2.relative: 1.0 1.0;
644 rel2.to: "elm.dragable.vbar";
647 normal: "00_fast_scroll_handler_bottom.png";
653 part { name: "sb_hbar_clip_master";
657 description { state: "default" 0.0;
659 description { state: "hidden" 0.0;
661 color: 255 255 255 0;
664 part { name: "sb_hbar_clip";
665 clip_to: "sb_hbar_clip_master";
669 description { state: "default" 0.0;
671 description { state: "hidden" 0.0;
673 color: 255 255 255 0;
676 part { name: "sb_hbar";
680 description { state: "default" 0.0;
683 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
687 to_x: "elm.swallow.content";
688 to_y: "elm.swallow.content";
694 to_y: "elm.swallow.content";
698 part { name: "elm.dragable.hbar";
700 clip_to: "sb_hbar_clip";
708 description { state: "default" 0.0;
711 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
725 part { name: "h_scrollbar_handler_image_left";
726 clip_to: "sb_hbar_clip";
729 description { state: "default" 0.0;
731 rel1.relative: 0.0 0.0;
732 rel1.to: "elm.dragable.hbar";
733 rel2.relative: 0.0 1.0;
734 rel2.to: "scrollbar_handler_image_hor";
737 normal: "00_fast_scroll_handler_left_h.png";
743 part { name: "scrollbar_handler_image_hor";
744 clip_to: "sb_hbar_clip";
747 description { state: "default" 0.0;
749 rel1.relative: 0.5 0.5;
750 rel1.to: "elm.dragable.hbar";
751 rel2.relative: 0.5 0.5;
752 rel2.to: "elm.dragable.hbar";
754 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC;
756 normal: "00_fast_scroll_handler_center_h.png";
762 part { name: "h_scrollbar_handler_image_right";
763 clip_to: "sb_hbar_clip";
766 description { state: "default" 0.0;
768 rel1.relative: 1.0 0.0;
769 rel1.to: "scrollbar_handler_image_hor";
770 rel2.relative: 1.0 1.0;
771 rel2.to: "elm.dragable.hbar";
774 normal: "00_fast_scroll_handler_right_h.png";
780 part { name: "disabler";
783 description { state: "default" 0.0;
789 description { state: "disabled" 0.0;
790 inherit: "default" 0.0;
792 color: 128 128 128 128;
797 program { name: "load";
801 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
802 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
805 set_int(sbalways_v, 0);
806 set_int(sbalways_h, 0);
807 set_int(sbvis_timer, 0);
808 emit("reload", "elm");
811 program { name: "vbar_show";
812 signal: "elm,action,show,vbar";
814 action: STATE_SET "default" 0.0;
815 target: "sb_vbar_clip_master";
817 program { name: "vbar_hide";
818 signal: "elm,action,hide,vbar";
820 action: STATE_SET "hidden" 0.0;
821 target: "sb_vbar_clip_master";
823 program { name: "vbar_show_always";
824 signal: "elm,action,show_always,vbar";
828 v = get_int(sbvis_v);
829 v |= get_int(sbalways_v);
831 set_int(sbalways_v, 1);
832 emit("do-show-vbar", "");
837 program { name: "vbar_show_notalways";
838 signal: "elm,action,show_notalways,vbar";
842 v = get_int(sbalways_v);
844 set_int(sbalways_v, 0);
845 v = get_int(sbvis_v);
847 emit("do-hide-vbar", "");
853 program { name: "vbar_press";
854 signal: "mouse,down,1";
855 source: "elm.dragable.vbar";
856 action: SIGNAL_EMIT "elm,vbar,press" "elm";
858 program { name: "vbar_unpress";
859 signal: "mouse,up,1";
860 source: "elm.dragable.vbar";
861 action: SIGNAL_EMIT "elm,vbar,unpress" "elm";
863 program { name: "sb_vbar_show";
864 signal: "do-show-vbar";
866 action: STATE_SET "default" 0.0;
867 transition: LINEAR 0.5;
868 target: "sb_vbar_clip";
870 program { name: "sb_vbar_hide";
871 signal: "do-hide-vbar";
873 action: STATE_SET "hidden" 0.0;
874 transition: LINEAR 0.5;
875 target: "sb_vbar_clip";
877 program { name: "hbar_show";
878 signal: "elm,action,show,hbar";
880 action: STATE_SET "default" 0.0;
881 target: "sb_hbar_clip_master";
883 program { name: "hbar_hide";
884 signal: "elm,action,hide,hbar";
886 action: STATE_SET "hidden" 0.0;
887 target: "sb_hbar_clip_master";
889 program { name: "hbar_show_always";
890 signal: "elm,action,show_always,hbar";
894 v = get_int(sbvis_h);
895 v |= get_int(sbalways_h);
897 set_int(sbalways_h, 1);
898 emit("do-show-hbar", "");
903 program { name: "hbar_show_notalways";
904 signal: "elm,action,show_notalways,hbar";
908 v = get_int(sbalways_h);
910 set_int(sbalways_h, 0);
911 v = get_int(sbvis_h);
913 emit("do-hide-hbar", "");
919 program { name: "hbar_press";
920 signal: "mouse,down,1";
921 source: "elm.dragable.hbar";
922 action: SIGNAL_EMIT "elm,hbar,press" "elm";
924 program { name: "hbar_unpress";
925 signal: "mouse,up,1";
926 source: "elm.dragable.hbar";
927 action: SIGNAL_EMIT "elm,hbar,unpress" "elm";
929 program { name: "sb_hbar_show";
930 signal: "do-show-hbar";
932 action: STATE_SET "default" 0.0;
933 transition: LINEAR 0.5;
934 target: "sb_hbar_clip";
936 program { name: "sb_hbar_hide";
937 signal: "do-hide-hbar";
939 action: STATE_SET "hidden" 0.0;
940 transition: LINEAR 0.5;
941 target: "sb_hbar_clip";
944 program { name: "scroll";
945 signal: "elm,action,scroll";
949 v = get_int(sbvis_v);
950 v |= get_int(sbalways_v);
952 emit("do-show-vbar", "");
955 v = get_int(sbvis_h);
956 v |= get_int(sbalways_h);
958 emit("do-show-hbar", "");
961 v = get_int(sbvis_timer);
962 if (v > 0) cancel_timer(v);
963 v = timer(1.0, "timer0", 0);
964 set_int(sbvis_timer, v);
968 program { name: "disable";
969 signal: "elm,state,disabled";
971 action: STATE_SET "disabled" 0.0;
974 program { name: "enable";
975 signal: "elm,state,enabled";
977 action: STATE_SET "default" 0.0;
983 group { name: "elm/genlist/base/default";
984 alias: "elm/genscroller/base/default";
985 alias: "elm/list/base/default";
986 inherit: "elm/scroller/base/default";
989 image: "00_overscrolling_top.png" COMP;
990 image: "00_overscrolling_bottom.png" COMP;
991 image: "00_overscrolling_left.png" COMP;
992 image: "00_overscrolling_right.png" COMP;
996 part { name: "vshadow_clip";
1000 description { state: "default" 0.0;
1002 description { state: "hidden" 0.0;
1004 color: 255 255 255 0;
1007 part { name: "hshadow_clip";
1011 description { state: "default" 0.0;
1013 description { state: "hidden" 0.0;
1015 color: 255 255 255 0;
1018 part { name: "shadow_top";
1019 clip_to: "vshadow_clip";
1023 description { state: "default" 0.0;
1027 color: 255 255 255 100;
1028 rel1.relative: 0.0 0.0;
1029 rel2.relative: 1.0 0.0;
1030 rel1.to: "elm.swallow.content";
1031 rel2.to: "elm.swallow.content";
1032 image.normal: "00_overscrolling_top.png";
1034 description { state: "edge" 0.0;
1035 inherit: "default" 0.0;
1036 color: 255 255 255 255;
1038 description { state: "edge_op" 0.0;
1039 inherit: "default" 0.0;
1040 color: 255 255 255 65;
1043 part { name: "shadow_bottom";
1044 clip_to: "vshadow_clip";
1048 description { state: "default" 0.0;
1052 color: 255 255 255 100;
1053 rel1.relative: 0.0 1.0;
1054 rel2.relative: 1.0 1.0;
1055 rel1.to: "elm.swallow.content";
1056 rel2.to: "elm.swallow.content";
1057 image.normal: "00_overscrolling_bottom.png";
1059 description { state: "edge" 0.0;
1060 inherit: "default" 0.0;
1061 color: 255 255 255 255;
1063 description { state: "edge_op" 0.0;
1064 inherit: "default" 0.0;
1065 color: 255 255 255 65;
1068 part { name: "shadow_left";
1069 clip_to: "hshadow_clip";
1073 description { state: "default" 0.0;
1077 color: 255 255 255 100;
1078 rel1.relative: 0.0 0.0;
1079 rel2.relative: 0.0 1.0;
1080 rel1.to: "elm.swallow.content";
1081 rel2.to: "elm.swallow.content";
1082 image.normal: "00_overscrolling_left.png";
1084 description { state: "edge" 0.0;
1085 inherit: "default" 0.0;
1086 color: 255 255 255 255;
1088 description { state: "edge_op" 0.0;
1089 inherit: "default" 0.0;
1090 color: 255 255 255 65;
1093 part { name: "shadow_right";
1094 clip_to: "hshadow_clip";
1098 description { state: "default" 0.0;
1102 color: 255 255 255 100;
1103 rel1.relative: 1.0 0.0;
1104 rel2.relative: 1.0 1.0;
1105 rel1.to: "elm.swallow.content";
1106 rel2.to: "elm.swallow.content";
1107 image.normal: "00_overscrolling_right.png";
1109 description { state: "edge" 0.0;
1110 inherit: "default" 0.0;
1111 color: 255 255 255 255;
1113 description { state: "edge_op" 0.0;
1114 inherit: "default" 0.0;
1115 color: 255 255 255 65;
1118 part { name: "padding_jump_to_top";
1121 description { state: "default" 0.0;
1122 min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1123 max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1124 rel1.relative: 1.0 0.0;
1125 rel2.relative: 1.0 0.0;
1126 rel1.to: "elm.swallow.content";
1127 rel2.to: "elm.swallow.content";
1132 part { name: "elm.swallow.jump_to_top";
1135 description { state: "default" 0.0;
1137 to: "padding_jump_to_top";
1141 to: "padding_jump_to_top";
1148 part { name: "padding_jump_to_left";
1151 description { state: "default" 0.0;
1152 min: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1153 max: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1154 rel1.relative: 0.0 1.0;
1155 rel2.relative: 0.0 1.0;
1156 rel1.to: "elm.swallow.content";
1157 rel2.to: "elm.swallow.content";
1162 part { name: "elm.swallow.jump_to_left";
1165 description { state: "default" 0.0;
1167 to: "padding_jump_to_left";
1171 to: "padding_jump_to_left";
1180 program { name: "load";
1182 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1183 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1184 set_state(PART:"vshadow_clip", "hidden", 0.0);
1185 set_state(PART:"hshadow_clip", "hidden", 0.0);
1186 set_int(sbvis_h, 0);
1187 set_int(sbvis_v, 0);
1188 set_int(sbalways_v, 0);
1189 set_int(sbalways_h, 0);
1190 set_int(sbvis_timer, 0);
1192 set_int(sh_timer, 0);
1193 set_int(edge_timer, 0);
1194 emit("reload", "elm");
1197 program { name: "vshadow_show";
1198 signal: "do-show-vshadow";
1200 action: STATE_SET "default" 0.0;
1201 transition: LINEAR 0.5;
1202 target: "vshadow_clip";
1204 program { name: "vshadow_hide";
1205 signal: "do-hide-vshadow";
1207 action: STATE_SET "hidden" 0.0;
1208 transition: LINEAR 0.2;
1209 target: "vshadow_clip";
1211 program { name: "hshadow_show";
1212 signal: "do-show-hshadow";
1214 action: STATE_SET "default" 0.0;
1215 transition: LINEAR 0.5;
1216 target: "hshadow_clip";
1218 program { name: "hshadow_hide";
1219 signal: "do-hide-hshadow";
1221 action: STATE_SET "hidden" 0.0;
1222 transition: LINEAR 0.2;
1223 target: "hshadow_clip";
1225 program { name: "scroll";
1226 signal: "elm,action,scroll";
1230 v = get_int(sbvis_v);
1231 v |= get_int(sbalways_v);
1233 emit("do-show-vbar", "");
1234 set_int(sbvis_v, 1);
1236 v = get_int(sbvis_h);
1237 v |= get_int(sbalways_h);
1239 emit("do-show-hbar", "");
1240 set_int(sbvis_h, 1);
1242 v = get_int(sbvis_timer);
1243 if (v > 0) cancel_timer(v);
1244 v = timer(1, "timer0", 0);
1245 set_int(sbvis_timer, v);
1248 program { name: "scroll_up";
1249 signal: "elm,action,scroll,up";
1251 after: "scroll_vertical";
1253 program { name: "scroll_down";
1254 signal: "elm,action,scroll,down";
1256 after: "scroll_vertical";
1258 program { name: "scroll_vertical";
1261 v = get_int(edge_timer);
1263 set_state(PART:"shadow_top", "default", 0.0);
1264 set_state(PART:"shadow_bottom", "default", 0.0);
1265 emit("do-show-vshadow", "");
1266 v = get_int(sh_timer);
1267 if (v > 0) cancel_timer(v);
1268 v = timer(0.1, "timer1", 0);
1269 set_int(sh_timer, v);
1273 program { name: "scroll_left";
1274 signal: "elm,action,scroll,left";
1276 after: "scroll_horizontal";
1278 program { name: "scroll_right";
1279 signal: "elm,action,scroll,right";
1281 after: "scroll_horizontal";
1283 program { name: "scroll_horizontal";
1286 v = get_int(edge_timer);
1288 set_state(PART:"shadow_left", "default", 0.0);
1289 set_state(PART:"shadow_right", "default", 0.0);
1290 emit("do-show-hshadow", "");
1291 v = get_int(sh_timer);
1292 if (v > 0) cancel_timer(v);
1293 v = timer(0.1, "timer1", 0);
1294 set_int(sh_timer, v);
1298 program { name: "edge_top";
1299 signal: "elm,edge,top";
1302 set_state(PART:"shadow_top", "edge", 0.0);
1303 set_state(PART:"shadow_bottom", "edge_op", 0.0);
1305 after: "edge_vertical";
1307 program { name: "edge_bottom";
1308 signal: "elm,edge,bottom";
1311 set_state(PART:"shadow_top", "edge_op", 0.0);
1312 set_state(PART:"shadow_bottom", "edge", 0.0);
1314 after: "edge_vertical";
1316 program { name: "edge_left";
1317 signal: "elm,edge,left";
1320 set_state(PART:"shadow_left", "edge", 0.0);
1321 set_state(PART:"shadow_right", "edge_op", 0.0);
1323 after: "edge_horizontal";
1325 program { name: "edge_right";
1326 signal: "elm,edge,right";
1329 set_state(PART:"shadow_left", "edge_op", 0.0);
1330 set_state(PART:"shadow_right", "edge", 0.0);
1332 after: "edge_horizontal";
1334 program { name: "edge_vertical";
1337 v = get_int(sh_timer);
1338 if (v > 0) cancel_timer(v);
1339 v = get_int(edge_timer);
1341 emit("do-show-vshadow", "");
1343 if (v > 0) cancel_timer(v);
1344 v = timer(0.1, "timer2", 0);
1345 set_int(edge_timer, v);
1348 program { name: "edge_horizontal";
1351 v = get_int(sh_timer);
1352 if (v > 0) cancel_timer(v);
1353 v = get_int(edge_timer);
1355 emit("do-show-hshadow", "");
1357 if (v > 0) cancel_timer(v);
1358 v = timer(0.1, "timer2", 0);
1359 set_int(edge_timer, v);
1362 program { name: "show";
1367 emit("do-show-vbar", "");
1368 set_int(sbvis_v, 1);
1369 v = get_int(sbalways_v);
1371 v = get_int(sbvis_timer);
1372 if (v > 0) cancel_timer(v);
1373 v = timer(1.0, "timer0", 0);
1374 set_int(sbvis_timer, v);
1376 emit("do-show-hbar", "");
1377 set_int(sbvis_h, 1);
1378 v = get_int(sbalways_h);
1380 v = get_int(sbvis_timer);
1381 if (v > 0) cancel_timer(v);
1382 v = timer(1.0, "timer0", 0);
1383 set_int(sbvis_timer, v);
1390 group { name: "elm/genlist/base/handler";
1391 alias: "elm/genscroller/base/handler";
1392 alias: "elm/list/base/handler";
1393 inherit: "elm/scroller/base/handler";
1396 image: "00_overscrolling_top.png" COMP;
1397 image: "00_overscrolling_bottom.png" COMP;
1398 image: "00_overscrolling_left.png" COMP;
1399 image: "00_overscrolling_right.png" COMP;
1403 part { name: "vshadow_clip";
1407 description { state: "default" 0.0;
1409 description { state: "hidden" 0.0;
1411 color: 255 255 255 0;
1414 part { name: "hshadow_clip";
1418 description { state: "default" 0.0;
1420 description { state: "hidden" 0.0;
1422 color: 255 255 255 0;
1425 part { name: "shadow_top";
1426 clip_to: "vshadow_clip";
1430 description { state: "default" 0.0;
1434 color: 255 255 255 100;
1435 rel1.relative: 0.0 0.0;
1436 rel2.relative: 1.0 0.0;
1437 rel1.to: "elm.swallow.content";
1438 rel2.to: "elm.swallow.content";
1439 image.normal: "00_overscrolling_top.png";
1441 description { state: "edge" 0.0;
1442 inherit: "default" 0.0;
1443 color: 255 255 255 255;
1445 description { state: "hidden" 0.0;
1446 inherit: "default" 0.0;
1450 part { name: "shadow_bottom";
1451 clip_to: "vshadow_clip";
1455 description { state: "default" 0.0;
1459 color: 255 255 255 100;
1460 rel1.relative: 0.0 1.0;
1461 rel2.relative: 1.0 1.0;
1462 rel1.to: "elm.swallow.content";
1463 rel2.to: "elm.swallow.content";
1464 image.normal: "00_overscrolling_bottom.png";
1466 description { state: "edge" 0.0;
1467 inherit: "default" 0.0;
1468 color: 255 255 255 255;
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: "edge" 0.0;
1492 inherit: "default" 0.0;
1493 color: 255 255 255 255;
1495 description { state: "hidden" 0.0;
1496 inherit: "default" 0.0;
1500 part { name: "shadow_right";
1501 clip_to: "hshadow_clip";
1505 description { state: "default" 0.0;
1509 color: 255 255 255 100;
1510 rel1.relative: 1.0 0.0;
1511 rel2.relative: 1.0 1.0;
1512 rel1.to: "elm.swallow.content";
1513 rel2.to: "elm.swallow.content";
1514 image.normal: "00_overscrolling_right.png";
1516 description { state: "edge" 0.0;
1517 inherit: "default" 0.0;
1518 color: 255 255 255 255;
1520 description { state: "hidden" 0.0;
1521 inherit: "default" 0.0;
1527 program { name: "load";
1531 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1532 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1533 set_state(PART:"vshadow_clip", "hidden", 0.0);
1534 set_state(PART:"hshadow_clip", "hidden", 0.0);
1535 set_int(sbvis_h, 0);
1536 set_int(sbvis_v, 0);
1537 set_int(sbalways_v, 0);
1538 set_int(sbalways_h, 0);
1539 set_int(sbvis_timer, 0);
1540 set_int(sh_timer, 0);
1541 set_int(edge_timer, 0);
1542 emit("reload", "elm");
1545 program { name: "vbar_show_always";
1546 signal: "elm,action,show_always,vbar";
1550 v = get_int(sbvis_v);
1551 v |= get_int(sbalways_v);
1553 set_int(sbalways_v, 1);
1554 emit("do-show-vbar", "");
1555 set_int(sbvis_v, 1);
1559 program { name: "vbar_show_notalways";
1560 signal: "elm,action,show_notalways,vbar";
1564 v = get_int(sbalways_v);
1566 set_int(sbalways_v, 0);
1567 v = get_int(sbvis_v);
1569 emit("do-hide-vbar", "");
1570 set_int(sbvis_v, 0);
1575 program { name: "hbar_show_always";
1576 signal: "elm,action,show_always,hbar";
1580 v = get_int(sbvis_h);
1581 v |= get_int(sbalways_h);
1583 set_int(sbalways_h, 1);
1584 emit("do-show-hbar", "");
1585 set_int(sbvis_h, 1);
1589 program { name: "hbar_show_notalways";
1590 signal: "elm,action,show_notalways,hbar";
1594 v = get_int(sbalways_h);
1596 set_int(sbalways_h, 0);
1597 v = get_int(sbvis_h);
1599 emit("do-hide-hbar", "");
1600 set_int(sbvis_h, 0);
1605 program { name: "vshadow_show";
1606 signal: "do-show-vshadow";
1608 action: STATE_SET "default" 0.0;
1609 transition: LINEAR 0.5;
1610 target: "vshadow_clip";
1612 program { name: "vshadow_hide";
1613 signal: "do-hide-vshadow";
1615 action: STATE_SET "hidden" 0.0;
1616 transition: LINEAR 0.2;
1617 target: "vshadow_clip";
1619 program { name: "hshadow_show";
1620 signal: "do-show-hshadow";
1622 action: STATE_SET "default" 0.0;
1623 transition: LINEAR 0.5;
1624 target: "hshadow_clip";
1626 program { name: "hshadow_hide";
1627 signal: "do-hide-hshadow";
1629 action: STATE_SET "hidden" 0.0;
1630 transition: LINEAR 0.2;
1631 target: "hshadow_clip";
1633 program { name: "scroll";
1634 signal: "elm,action,scroll";
1638 v = get_int(sbvis_v);
1639 v |= get_int(sbalways_v);
1641 emit("do-show-vbar", "");
1642 set_int(sbvis_v, 1);
1644 v = get_int(sbvis_h);
1645 v |= get_int(sbalways_h);
1647 emit("do-show-hbar", "");
1648 set_int(sbvis_h, 1);
1650 v = get_int(sbvis_timer);
1651 if (v > 0) cancel_timer(v);
1652 v = timer(1, "timer0", 0);
1653 set_int(sbvis_timer, v);
1656 program { name: "scroll_up";
1657 signal: "elm,action,scroll,up";
1659 after: "scroll_vertical";
1661 program { name: "scroll_down";
1662 signal: "elm,action,scroll,down";
1664 after: "scroll_vertical";
1666 program { name: "scroll_vertical";
1669 v = get_int(edge_timer);
1671 set_state(PART:"shadow_top", "default", 0.0);
1672 set_state(PART:"shadow_bottom", "default", 0.0);
1673 emit("do-show-vshadow", "");
1674 v = get_int(sh_timer);
1675 if (v > 0) cancel_timer(v);
1676 v = timer(0.1, "timer1", 0);
1677 set_int(sh_timer, v);
1681 program { name: "scroll_left";
1682 signal: "elm,action,scroll,left";
1684 after: "scroll_horizontal";
1686 program { name: "scroll_right";
1687 signal: "elm,action,scroll,right";
1689 after: "scroll_horizontal";
1691 program { name: "scroll_horizontal";
1694 v = get_int(edge_timer);
1696 set_state(PART:"shadow_left", "default", 0.0);
1697 set_state(PART:"shadow_right", "default", 0.0);
1698 emit("do-show-hshadow", "");
1699 v = get_int(sh_timer);
1700 if (v > 0) cancel_timer(v);
1701 v = timer(0.1, "timer1", 0);
1702 set_int(sh_timer, v);
1706 program { name: "edge_top";
1707 signal: "elm,edge,top";
1710 set_state(PART:"shadow_top", "edge", 0.0);
1711 set_state(PART:"shadow_bottom", "hidden", 0.0);
1713 after: "edge_vertical";
1715 program { name: "edge_bottom";
1716 signal: "elm,edge,bottom";
1719 set_state(PART:"shadow_top", "hidden", 0.0);
1720 set_state(PART:"shadow_bottom", "edge", 0.0);
1722 after: "edge_vertical";
1724 program { name: "edge_left";
1725 signal: "elm,edge,left";
1728 set_state(PART:"shadow_left", "edge", 0.0);
1729 set_state(PART:"shadow_right", "hidden", 0.0);
1731 after: "edge_horizontal";
1733 program { name: "edge_right";
1734 signal: "elm,edge,right";
1737 set_state(PART:"shadow_left", "hidden", 0.0);
1738 set_state(PART:"shadow_right", "edge", 0.0);
1740 after: "edge_horizontal";
1742 program { name: "edge_vertical";
1745 v = get_int(sh_timer);
1746 if (v > 0) cancel_timer(v);
1747 v = get_int(edge_timer);
1749 emit("do-show-vshadow", "");
1751 if (v > 0) cancel_timer(v);
1752 v = timer(0.1, "timer2", 0);
1753 set_int(edge_timer, v);
1756 program { name: "edge_horizontal";
1759 v = get_int(sh_timer);
1760 if (v > 0) cancel_timer(v);
1761 v = get_int(edge_timer);
1763 emit("do-show-hshadow", "");
1765 if (v > 0) cancel_timer(v);
1766 v = timer(0.1, "timer2", 0);
1767 set_int(edge_timer, v);
1770 program { name: "show";
1775 emit("do-show-vbar", "");
1776 set_int(sbvis_v, 1);
1777 v = get_int(sbalways_v);
1779 v = get_int(sbvis_timer);
1780 if (v > 0) cancel_timer(v);
1781 v = timer(1.0, "timer0", 0);
1782 set_int(sbvis_timer, v);
1784 emit("do-show-hbar", "");
1785 set_int(sbvis_h, 1);
1786 v = get_int(sbalways_h);
1788 v = get_int(sbvis_timer);
1789 if (v > 0) cancel_timer(v);
1790 v = timer(1.0, "timer0", 0);
1791 set_int(sbvis_timer, v);
1798 group { name: "elm/gengrid/base/default";
1799 inherit: "elm/genlist/base/default";
1802 image: "00_grid_overscrolling_top.png" COMP;
1803 image: "00_grid_overscrolling_bottom.png" COMP;
1804 image: "00_grid_overscrolling_left.png" COMP;
1805 image: "00_grid_overscrolling_right.png" COMP;
1809 part { name: "shadow_top";
1810 description { state: "default" 0.0;
1812 image.normal: "00_grid_overscrolling_top.png";
1814 description { state: "edge" 0.0;
1815 inherit: "default" 0.0;
1816 color: 255 255 255 255;
1819 part { name: "shadow_bottom";
1820 description { state: "default" 0.0;
1822 image.normal: "00_grid_overscrolling_bottom.png";
1824 description { state: "edge" 0.0;
1825 inherit: "default" 0.0;
1826 color: 255 255 255 255;
1829 part { name: "shadow_left";
1830 description { state: "default" 0.0;
1832 image.normal: "00_grid_overscrolling_left.png";
1834 description { state: "edge" 0.0;
1835 inherit: "default" 0.0;
1836 color: 255 255 255 255;
1839 part { name: "shadow_right";
1840 description { state: "default" 0.0;
1842 image.normal: "00_grid_overscrolling_right.png";
1844 description { state: "edge" 0.0;
1845 inherit: "default" 0.0;
1846 color: 255 255 255 255;
1852 group { name: "elm/gengrid/base/handler";
1853 inherit: "elm/genlist/base/handler";
1856 part { name: "shadow_top";
1857 description { state: "default" 0.0;
1859 image.normal: "00_grid_overscrolling_top.png";
1861 description { state: "edge" 0.0;
1862 inherit: "default" 0.0;
1863 color: 255 255 255 255;
1866 part { name: "shadow_bottom";
1867 description { state: "default" 0.0;
1869 image.normal: "00_grid_overscrolling_bottom.png";
1871 description { state: "edge" 0.0;
1872 inherit: "default" 0.0;
1873 color: 255 255 255 255;
1876 part { name: "shadow_left";
1877 description { state: "default" 0.0;
1879 image.normal: "00_grid_overscrolling_left.png";
1881 description { state: "edge" 0.0;
1882 inherit: "default" 0.0;
1883 color: 255 255 255 255;
1886 part { name: "shadow_right";
1887 description { state: "default" 0.0;
1889 image.normal: "00_grid_overscrolling_right.png";
1891 description { state: "edge" 0.0;
1892 inherit: "default" 0.0;
1893 color: 255 255 255 255;