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/fastscroll";
1391 alias: "elm/list/base/fastscroll";
1392 alias: "elm/scroller/base/fastscroll";
1393 inherit: "elm/genlist/base/default";
1396 name: "elm.fastscroll";
1400 state: "default" 0.0;
1410 min: INDEX_ITEM_WIDTH_INC 0;
1415 name: "elm.swallow.content";
1420 state: "default" 0.0;
1423 to: "elm.fastscroll";
1431 group { name: "elm/genlist/base/handler";
1432 alias: "elm/genscroller/base/handler";
1433 alias: "elm/list/base/handler";
1434 inherit: "elm/scroller/base/handler";
1437 image: "00_overscrolling_top.png" COMP;
1438 image: "00_overscrolling_bottom.png" COMP;
1439 image: "00_overscrolling_left.png" COMP;
1440 image: "00_overscrolling_right.png" COMP;
1444 part { name: "vshadow_clip";
1448 description { state: "default" 0.0;
1450 description { state: "hidden" 0.0;
1452 color: 255 255 255 0;
1455 part { name: "hshadow_clip";
1459 description { state: "default" 0.0;
1461 description { state: "hidden" 0.0;
1463 color: 255 255 255 0;
1466 part { name: "shadow_top";
1467 clip_to: "vshadow_clip";
1471 description { state: "default" 0.0;
1475 color: 255 255 255 100;
1476 rel1.relative: 0.0 0.0;
1477 rel2.relative: 1.0 0.0;
1478 rel1.to: "elm.swallow.content";
1479 rel2.to: "elm.swallow.content";
1480 image.normal: "00_overscrolling_top.png";
1482 description { state: "edge" 0.0;
1483 inherit: "default" 0.0;
1484 color: 255 255 255 255;
1486 description { state: "hidden" 0.0;
1487 inherit: "default" 0.0;
1491 part { name: "shadow_bottom";
1492 clip_to: "vshadow_clip";
1496 description { state: "default" 0.0;
1500 color: 255 255 255 100;
1501 rel1.relative: 0.0 1.0;
1502 rel2.relative: 1.0 1.0;
1503 rel1.to: "elm.swallow.content";
1504 rel2.to: "elm.swallow.content";
1505 image.normal: "00_overscrolling_bottom.png";
1507 description { state: "edge" 0.0;
1508 inherit: "default" 0.0;
1509 color: 255 255 255 255;
1511 description { state: "hidden" 0.0;
1512 inherit: "default" 0.0;
1516 part { name: "shadow_left";
1517 clip_to: "hshadow_clip";
1521 description { state: "default" 0.0;
1525 color: 255 255 255 100;
1526 rel1.relative: 0.0 0.0;
1527 rel2.relative: 0.0 1.0;
1528 rel1.to: "elm.swallow.content";
1529 rel2.to: "elm.swallow.content";
1530 image.normal: "00_overscrolling_left.png";
1532 description { state: "edge" 0.0;
1533 inherit: "default" 0.0;
1534 color: 255 255 255 255;
1536 description { state: "hidden" 0.0;
1537 inherit: "default" 0.0;
1541 part { name: "shadow_right";
1542 clip_to: "hshadow_clip";
1546 description { state: "default" 0.0;
1550 color: 255 255 255 100;
1551 rel1.relative: 1.0 0.0;
1552 rel2.relative: 1.0 1.0;
1553 rel1.to: "elm.swallow.content";
1554 rel2.to: "elm.swallow.content";
1555 image.normal: "00_overscrolling_right.png";
1557 description { state: "edge" 0.0;
1558 inherit: "default" 0.0;
1559 color: 255 255 255 255;
1561 description { state: "hidden" 0.0;
1562 inherit: "default" 0.0;
1568 program { name: "load";
1572 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1573 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1574 set_state(PART:"vshadow_clip", "hidden", 0.0);
1575 set_state(PART:"hshadow_clip", "hidden", 0.0);
1576 set_int(sbvis_h, 0);
1577 set_int(sbvis_v, 0);
1578 set_int(sbalways_v, 0);
1579 set_int(sbalways_h, 0);
1580 set_int(sbvis_timer, 0);
1581 set_int(sh_timer, 0);
1582 set_int(edge_timer, 0);
1583 emit("reload", "elm");
1586 program { name: "vbar_show_always";
1587 signal: "elm,action,show_always,vbar";
1591 v = get_int(sbvis_v);
1592 v |= get_int(sbalways_v);
1594 set_int(sbalways_v, 1);
1595 emit("do-show-vbar", "");
1596 set_int(sbvis_v, 1);
1600 program { name: "vbar_show_notalways";
1601 signal: "elm,action,show_notalways,vbar";
1605 v = get_int(sbalways_v);
1607 set_int(sbalways_v, 0);
1608 v = get_int(sbvis_v);
1610 emit("do-hide-vbar", "");
1611 set_int(sbvis_v, 0);
1616 program { name: "hbar_show_always";
1617 signal: "elm,action,show_always,hbar";
1621 v = get_int(sbvis_h);
1622 v |= get_int(sbalways_h);
1624 set_int(sbalways_h, 1);
1625 emit("do-show-hbar", "");
1626 set_int(sbvis_h, 1);
1630 program { name: "hbar_show_notalways";
1631 signal: "elm,action,show_notalways,hbar";
1635 v = get_int(sbalways_h);
1637 set_int(sbalways_h, 0);
1638 v = get_int(sbvis_h);
1640 emit("do-hide-hbar", "");
1641 set_int(sbvis_h, 0);
1646 program { name: "vshadow_show";
1647 signal: "do-show-vshadow";
1649 action: STATE_SET "default" 0.0;
1650 transition: LINEAR 0.5;
1651 target: "vshadow_clip";
1653 program { name: "vshadow_hide";
1654 signal: "do-hide-vshadow";
1656 action: STATE_SET "hidden" 0.0;
1657 transition: LINEAR 0.2;
1658 target: "vshadow_clip";
1660 program { name: "hshadow_show";
1661 signal: "do-show-hshadow";
1663 action: STATE_SET "default" 0.0;
1664 transition: LINEAR 0.5;
1665 target: "hshadow_clip";
1667 program { name: "hshadow_hide";
1668 signal: "do-hide-hshadow";
1670 action: STATE_SET "hidden" 0.0;
1671 transition: LINEAR 0.2;
1672 target: "hshadow_clip";
1674 program { name: "scroll";
1675 signal: "elm,action,scroll";
1679 v = get_int(sbvis_v);
1680 v |= get_int(sbalways_v);
1682 emit("do-show-vbar", "");
1683 set_int(sbvis_v, 1);
1685 v = get_int(sbvis_h);
1686 v |= get_int(sbalways_h);
1688 emit("do-show-hbar", "");
1689 set_int(sbvis_h, 1);
1691 v = get_int(sbvis_timer);
1692 if (v > 0) cancel_timer(v);
1693 v = timer(1, "timer0", 0);
1694 set_int(sbvis_timer, v);
1697 program { name: "scroll_up";
1698 signal: "elm,action,scroll,up";
1700 after: "scroll_vertical";
1702 program { name: "scroll_down";
1703 signal: "elm,action,scroll,down";
1705 after: "scroll_vertical";
1707 program { name: "scroll_vertical";
1710 v = get_int(edge_timer);
1712 set_state(PART:"shadow_top", "default", 0.0);
1713 set_state(PART:"shadow_bottom", "default", 0.0);
1714 emit("do-show-vshadow", "");
1715 v = get_int(sh_timer);
1716 if (v > 0) cancel_timer(v);
1717 v = timer(0.1, "timer1", 0);
1718 set_int(sh_timer, v);
1722 program { name: "scroll_left";
1723 signal: "elm,action,scroll,left";
1725 after: "scroll_horizontal";
1727 program { name: "scroll_right";
1728 signal: "elm,action,scroll,right";
1730 after: "scroll_horizontal";
1732 program { name: "scroll_horizontal";
1735 v = get_int(edge_timer);
1737 set_state(PART:"shadow_left", "default", 0.0);
1738 set_state(PART:"shadow_right", "default", 0.0);
1739 emit("do-show-hshadow", "");
1740 v = get_int(sh_timer);
1741 if (v > 0) cancel_timer(v);
1742 v = timer(0.1, "timer1", 0);
1743 set_int(sh_timer, v);
1747 program { name: "edge_top";
1748 signal: "elm,edge,top";
1751 set_state(PART:"shadow_top", "edge", 0.0);
1752 set_state(PART:"shadow_bottom", "hidden", 0.0);
1754 after: "edge_vertical";
1756 program { name: "edge_bottom";
1757 signal: "elm,edge,bottom";
1760 set_state(PART:"shadow_top", "hidden", 0.0);
1761 set_state(PART:"shadow_bottom", "edge", 0.0);
1763 after: "edge_vertical";
1765 program { name: "edge_left";
1766 signal: "elm,edge,left";
1769 set_state(PART:"shadow_left", "edge", 0.0);
1770 set_state(PART:"shadow_right", "hidden", 0.0);
1772 after: "edge_horizontal";
1774 program { name: "edge_right";
1775 signal: "elm,edge,right";
1778 set_state(PART:"shadow_left", "hidden", 0.0);
1779 set_state(PART:"shadow_right", "edge", 0.0);
1781 after: "edge_horizontal";
1783 program { name: "edge_vertical";
1786 v = get_int(sh_timer);
1787 if (v > 0) cancel_timer(v);
1788 v = get_int(edge_timer);
1790 emit("do-show-vshadow", "");
1792 if (v > 0) cancel_timer(v);
1793 v = timer(0.1, "timer2", 0);
1794 set_int(edge_timer, v);
1797 program { name: "edge_horizontal";
1800 v = get_int(sh_timer);
1801 if (v > 0) cancel_timer(v);
1802 v = get_int(edge_timer);
1804 emit("do-show-hshadow", "");
1806 if (v > 0) cancel_timer(v);
1807 v = timer(0.1, "timer2", 0);
1808 set_int(edge_timer, v);
1811 program { name: "show";
1816 emit("do-show-vbar", "");
1817 set_int(sbvis_v, 1);
1818 v = get_int(sbalways_v);
1820 v = get_int(sbvis_timer);
1821 if (v > 0) cancel_timer(v);
1822 v = timer(1.0, "timer0", 0);
1823 set_int(sbvis_timer, v);
1825 emit("do-show-hbar", "");
1826 set_int(sbvis_h, 1);
1827 v = get_int(sbalways_h);
1829 v = get_int(sbvis_timer);
1830 if (v > 0) cancel_timer(v);
1831 v = timer(1.0, "timer0", 0);
1832 set_int(sbvis_timer, v);
1839 group { name: "elm/gengrid/base/default";
1840 inherit: "elm/genlist/base/default";
1843 image: "00_grid_overscrolling_top.png" COMP;
1844 image: "00_grid_overscrolling_bottom.png" COMP;
1845 image: "00_grid_overscrolling_left.png" COMP;
1846 image: "00_grid_overscrolling_right.png" COMP;
1850 part { name: "shadow_top";
1851 description { state: "default" 0.0;
1853 image.normal: "00_grid_overscrolling_top.png";
1855 description { state: "edge" 0.0;
1856 inherit: "default" 0.0;
1857 color: 255 255 255 255;
1860 part { name: "shadow_bottom";
1861 description { state: "default" 0.0;
1863 image.normal: "00_grid_overscrolling_bottom.png";
1865 description { state: "edge" 0.0;
1866 inherit: "default" 0.0;
1867 color: 255 255 255 255;
1870 part { name: "shadow_left";
1871 description { state: "default" 0.0;
1873 image.normal: "00_grid_overscrolling_left.png";
1875 description { state: "edge" 0.0;
1876 inherit: "default" 0.0;
1877 color: 255 255 255 255;
1880 part { name: "shadow_right";
1881 description { state: "default" 0.0;
1883 image.normal: "00_grid_overscrolling_right.png";
1885 description { state: "edge" 0.0;
1886 inherit: "default" 0.0;
1887 color: 255 255 255 255;
1893 group { name: "elm/gengrid/base/fastscroll";
1894 inherit: "elm/gengrid/base/default";
1897 name: "elm.fastscroll";
1901 state: "default" 0.0;
1911 min: INDEX_ITEM_WIDTH_INC 0;
1916 name: "elm.swallow.content";
1921 state: "default" 0.0;
1924 to: "elm.fastscroll";
1932 group { name: "elm/gengrid/base/handler";
1933 inherit: "elm/genlist/base/handler";
1936 part { name: "shadow_top";
1937 description { state: "default" 0.0;
1939 image.normal: "00_grid_overscrolling_top.png";
1941 description { state: "edge" 0.0;
1942 inherit: "default" 0.0;
1943 color: 255 255 255 255;
1946 part { name: "shadow_bottom";
1947 description { state: "default" 0.0;
1949 image.normal: "00_grid_overscrolling_bottom.png";
1951 description { state: "edge" 0.0;
1952 inherit: "default" 0.0;
1953 color: 255 255 255 255;
1956 part { name: "shadow_left";
1957 description { state: "default" 0.0;
1959 image.normal: "00_grid_overscrolling_left.png";
1961 description { state: "edge" 0.0;
1962 inherit: "default" 0.0;
1963 color: 255 255 255 255;
1966 part { name: "shadow_right";
1967 description { state: "default" 0.0;
1969 image.normal: "00_grid_overscrolling_right.png";
1971 description { state: "edge" 0.0;
1972 inherit: "default" 0.0;
1973 color: 255 255 255 255;