2 * Copyright (c) 2010 Samsung Electronics Co., Ltd All Rights Reserved
4 * BSD 2-Clause License (http://www.opensource.org/licenses/bsd-license.php)
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions are met:
9 * 1. Redistributions of source code must retain the above copyright notice, this
10 * list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright notice,
12 * this list of conditions and the following disclaimer in the documentation
13 * and/or other materials provided with the distribution.
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
16 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
17 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
18 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
19 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31 group { name: "elm/scroller/base/default";
32 alias: "elm/carousel/base/default";
33 alias: "elm/scroller/base/map_bubble";
34 alias: "elm/gengrid/base/no_effect";
35 alias: "elm/genlist/base/no_effect";
38 item: "focus_highlight" "on";
42 public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
44 public top_down_x = 0, top_down_y = 0
45 public top_move_x = 0, top_move_y = 0
46 public top_diff = 0, top_prev_diff = 0
47 public effect_top_down = 0, effect_top_start = 0, effect_top_reset = 0, effect_top_anim = 0;
48 public effect_top_end = 0, effect_top_move = 0, effect_top_max = 0;
49 public bottom_down_x = 0, bottom_down_y = 0
50 public bottom_move_x = 0, bottom_move_y = 0
51 public bottom_diff = 0, bottom_prev_diff = 0
52 public effect_bottom_down = 0, effect_bottom_start = 0, effect_bottom_reset = 0, effect_bottom_anim = 0;
53 public effect_bottom_end = 0, effect_bottom_move = 0, effect_bottom_max = 0;
54 public left_down_x = 0, left_down_y = 0
55 public left_move_x = 0, left_move_y = 0
56 public left_diff = 0, left_prev_diff = 0
57 public effect_left_down = 0, effect_left_start = 0, effect_left_reset = 0, effect_left_anim = 0;
58 public effect_left_end = 0, effect_left_move = 0, effect_left_max = 0;
59 public right_down_x = 0, right_down_y = 0
60 public right_move_x = 0, right_move_y = 0
61 public right_diff = 0, right_prev_diff = 0
62 public effect_right_down = 0, effect_right_start = 0, effect_right_reset = 0, effect_right_anim = 0;
63 public effect_right_end = 0, effect_right_move = 0, effect_right_max = 0;
69 v = get_int(sbalways_v);
71 emit("do-hide-vbar", "");
77 v = get_int(sbalways_h);
79 emit("do-hide-hbar", "");
83 set_int(sbvis_timer, 0);
88 image: "00_scroll_bar_v.#.png" COMP;
89 image: "00_scroll_bar_h.#.png" COMP;
95 description { state: "default" 0.0;
101 part { name: "clipper";
105 description { state: "default" 0.0;
112 part { name: "elm.swallow.content";
116 description { state: "default" 0.0;
123 part { name: "sb_vbar_clip_master";
127 description { state: "default" 0.0;
129 description { state: "hidden" 0.0;
131 color: 255 255 255 0;
134 part { name: "sb_vbar_clip";
135 clip_to: "sb_vbar_clip_master";
139 description { state: "default" 0.0;
141 description { state: "hidden" 0.0;
143 color: 255 255 255 0;
146 part { name: "sb_vbar_top_padding";
149 description { state: "default" 0.0;
150 min: 0 SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE;
151 max: 0 SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE;
152 rel1.relative: 1.0 0.0;
153 rel2.relative: 1.0 0.0;
154 rel1.to: "elm.swallow.content";
155 rel2.to: "elm.swallow.content";
160 part { name: "sb_vbar_bottom_padding";
163 description { state: "default" 0.0;
164 min: 0 SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE;
165 max: 0 SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE;
166 rel1.relative: 1.0 1.0;
167 rel2.relative: 1.0 1.0;
168 rel1.to: "elm.swallow.content";
169 rel2.to: "elm.swallow.content";
174 part { name: "sb_vbar_right_padding";
177 description { state: "default" 0.0;
178 min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 0;
179 max: SCROLLER_DEFAULT_SCROLLBAR_VBAR_PADDING_SIZE 0;
180 rel1.relative: 1.0 1.0;
181 rel2.relative: 1.0 1.0;
182 rel1.to: "elm.swallow.content";
183 rel2.to: "elm.swallow.content";
188 part { name: "sb_vbar";
192 description { state: "default" 0.0;
195 min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
200 to_x: "sb_vbar_right_padding";
201 to_y: "sb_vbar_top_padding";
206 to_x: "sb_vbar_right_padding";
207 to_y: "sb_vbar_bottom_padding";
211 part { name: "elm.dragable.vbar";
212 clip_to: "sb_vbar_clip";
220 description { state: "default" 0.0;
222 min: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MIN_SIZE_INC;
223 max: SCROLLER_DEFAULT_SCROLLBAR_VBAR_MAX_SIZE_INC;
235 normal: "00_scroll_bar_v.#.png";
241 part { name: "sb_hbar_clip_master";
245 description { state: "default" 0.0;
247 description { state: "hidden" 0.0;
249 color: 255 255 255 0;
252 part { name: "sb_hbar_clip";
253 clip_to: "sb_hbar_clip_master";
257 description { state: "default" 0.0;
259 description { state: "hidden" 0.0;
261 color: 255 255 255 0;
264 part { name: "sb_hbar_bottom_padding";
267 description { state: "default" 0.0;
268 min: 0 SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE;
269 max: 0 SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE;
270 rel1.relative: 1.0 1.0;
271 rel2.relative: 1.0 1.0;
272 rel1.to: "elm.swallow.content";
273 rel2.to: "elm.swallow.content";
278 part { name: "sb_hbar_left_padding";
281 description { state: "default" 0.0;
282 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 0;
283 max: SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 0;
284 rel1.relative: 0.0 1.0;
285 rel2.relative: 0.0 1.0;
286 rel1.to: "elm.swallow.content";
287 rel2.to: "elm.swallow.content";
292 part { name: "sb_hbar_right_padding";
295 description { state: "default" 0.0;
296 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 0;
297 max: SCROLLER_DEFAULT_SCROLLBAR_HBAR_PADDING_SIZE 0;
298 rel1.relative: 1.0 1.0;
299 rel2.relative: 1.0 1.0;
300 rel1.to: "elm.swallow.content";
301 rel2.to: "elm.swallow.content";
306 part { name: "sb_hbar";
310 description { state: "default" 0.0;
313 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
318 to_x: "sb_hbar_left_padding";
319 to_y: "sb_hbar_bottom_padding";
324 to_x: "sb_hbar_right_padding";
325 to_y: "sb_hbar_bottom_padding";
329 part { name: "elm.dragable.hbar";
330 clip_to: "sb_hbar_clip";
338 description { state: "default" 0.0;
340 min: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MIN_SIZE_INC;
341 max: SCROLLER_DEFAULT_SCROLLBAR_HBAR_MAX_SIZE_INC;
353 normal: "00_scroll_bar_h.#.png";
359 part { name: "disabler";
362 description { state: "default" 0.0;
368 description { state: "disabled" 0.0;
369 inherit: "default" 0.0;
375 program { name: "load";
379 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
380 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
383 set_int(sbalways_v, 0);
384 set_int(sbalways_h, 0);
385 set_int(sbvis_timer, 0);
386 emit("reload", "elm");
390 program { name: "vbar_show";
391 signal: "elm,action,show,vbar";
393 action: STATE_SET "default" 0.0;
394 target: "sb_vbar_clip_master";
396 program { name: "vbar_hide";
397 signal: "elm,action,hide,vbar";
399 action: STATE_SET "hidden" 0.0;
400 target: "sb_vbar_clip_master";
402 program { name: "vbar_show_always";
403 signal: "elm,action,show_always,vbar";
407 v = get_int(sbalways_v);
409 set_int(sbalways_v, 1);
410 v = get_int(sbvis_v);
412 emit("do-show-vbar", "");
418 program { name: "vbar_show_notalways";
419 signal: "elm,action,show_notalways,vbar";
423 v = get_int(sbalways_v);
425 set_int(sbalways_v, 0);
426 v = get_int(sbvis_v);
428 emit("do-hide-vbar", "");
434 program { name: "sb_vbar_show";
435 signal: "do-show-vbar";
437 action: STATE_SET "default" 0.0;
438 transition: LINEAR 0.1;
439 target: "sb_vbar_clip";
441 program { name: "sb_vbar_hide";
442 signal: "do-hide-vbar";
444 action: STATE_SET "hidden" 0.0;
445 transition: LINEAR 0.1;
446 target: "sb_vbar_clip";
449 program { name: "hbar_show";
450 signal: "elm,action,show,hbar";
452 action: STATE_SET "default" 0.0;
453 target: "sb_hbar_clip_master";
455 program { name: "hbar_hide";
456 signal: "elm,action,hide,hbar";
458 action: STATE_SET "hidden" 0.0;
459 target: "sb_hbar_clip_master";
461 program { name: "hbar_show_always";
462 signal: "elm,action,show_always,hbar";
466 v = get_int(sbalways_h);
468 set_int(sbalways_h, 1);
469 v = get_int(sbvis_h);
471 emit("do-show-hbar", "");
477 program { name: "hbar_show_notalways";
478 signal: "elm,action,show_notalways,hbar";
482 v = get_int(sbalways_h);
484 set_int(sbalways_h, 0);
485 v = get_int(sbvis_h);
487 emit("do-hide-hbar", "");
493 program { name: "sb_hbar_show";
494 signal: "do-show-hbar";
496 action: STATE_SET "default" 0.0;
497 transition: LINEAR 0.1;
498 target: "sb_hbar_clip";
500 program { name: "sb_hbar_hide";
501 signal: "do-hide-hbar";
503 action: STATE_SET "hidden" 0.0;
504 transition: LINEAR 0.1;
505 target: "sb_hbar_clip";
508 program { name: "scroll";
509 signal: "elm,action,scroll";
513 v = get_int(sbvis_v);
514 v |= get_int(sbalways_v);
516 emit("do-show-vbar", "");
519 v = get_int(sbvis_h);
520 v |= get_int(sbalways_h);
522 emit("do-show-hbar", "");
525 v = get_int(sbvis_timer);
526 if (v > 0) cancel_timer(v);
527 v = timer(1.0, "timer0", 0);
528 set_int(sbvis_timer, v);
531 program { name: "disable";
532 signal: "elm,state,disabled";
534 action: STATE_SET "disabled" 0.0;
537 program { name: "enable";
538 signal: "elm,state,enabled";
540 action: STATE_SET "default" 0.0;
543 program { name: "show";
548 emit("do-show-vbar", "");
550 v = get_int(sbalways_v);
552 v = get_int(sbvis_timer);
553 if (v > 0) cancel_timer(v);
554 v = timer(1.0, "timer0", 0);
555 set_int(sbvis_timer, v);
557 emit("do-show-hbar", "");
559 v = get_int(sbalways_h);
561 v = get_int(sbvis_timer);
562 if (v > 0) cancel_timer(v);
563 v = timer(1.0, "timer0", 0);
564 set_int(sbvis_timer, v);
571 group { name: "elm/scroller/base/handler";
572 alias: "elm/carousel/base/handler";
575 item: "focus_highlight" "on";
578 public sbvis_v, sbvis_h, sbalways_v, sbalways_h, sbvis_timer;
579 public top_down_x = 0, top_down_y = 0
580 public top_move_x = 0, top_move_y = 0
581 public top_diff = 0, top_prev_diff = 0
582 public effect_top_down = 0, effect_top_start = 0, effect_top_reset = 0, effect_top_anim = 0;
583 public effect_top_end = 0, effect_top_move = 0, effect_top_max = 0;
584 public bottom_down_x = 0, bottom_down_y = 0
585 public bottom_move_x = 0, bottom_move_y = 0
586 public bottom_diff = 0, bottom_prev_diff = 0
587 public effect_bottom_down = 0, effect_bottom_start = 0, effect_bottom_reset = 0, effect_bottom_anim = 0;
588 public effect_bottom_end = 0, effect_bottom_move = 0, effect_bottom_max = 0;
589 public left_down_x = 0, left_down_y = 0
590 public left_move_x = 0, left_move_y = 0
591 public left_diff = 0, left_prev_diff = 0
592 public effect_left_down = 0, effect_left_start = 0, effect_left_reset = 0, effect_left_anim = 0;
593 public effect_left_end = 0, effect_left_move = 0, effect_left_max = 0;
594 public right_down_x = 0, right_down_y = 0
595 public right_move_x = 0, right_move_y = 0
596 public right_diff = 0, right_prev_diff = 0
597 public effect_right_down = 0, effect_right_start = 0, effect_right_reset = 0, effect_right_anim = 0;
598 public effect_right_end = 0, effect_right_move = 0, effect_right_max = 0;
602 v = get_int(sbvis_v);
604 v = get_int(sbalways_v);
606 emit("do-hide-vbar", "");
610 v = get_int(sbvis_h);
612 v = get_int(sbalways_h);
614 emit("do-hide-hbar", "");
618 set_int(sbvis_timer, 0);
623 image: "00_fast_scroll_handler_bg.#.png" COMP;
624 image: "00_fast_scroll_handler_center.png" COMP;
625 image: "00_fast_scroll_handler_center_h.png" COMP;
631 description { state: "default" 0.0;
634 color: 255 255 255 0;
637 part { name: "clipper";
641 description { state: "default" 0.0;
648 part { name: "elm.swallow.content";
652 description { state: "default" 0.0;
659 part { name: "sb_vbar_top_padding";
662 description { state: "default" 0.0;
665 rel1.relative: 1.0 0.0;
666 rel2.relative: 1.0 0.0;
667 rel1.to: "elm.swallow.content";
668 rel2.to: "elm.swallow.content";
673 part { name: "sb_vbar_bottom_padding";
676 description { state: "default" 0.0;
679 rel1.relative: 1.0 1.0;
680 rel2.relative: 1.0 1.0;
681 rel1.to: "elm.swallow.content";
682 rel2.to: "elm.swallow.content";
687 part { name: "sb_vbar_right_padding";
690 description { state: "default" 0.0;
691 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE 0;
692 max: SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE 0;
693 rel1.relative: 1.0 1.0;
694 rel2.relative: 1.0 1.0;
695 rel1.to: "elm.swallow.content";
696 rel2.to: "elm.swallow.content";
701 part { name: "sb_vbar_clip_master";
705 description { state: "default" 0.0;
707 description { state: "hidden" 0.0;
709 color: 255 255 255 0;
712 part { name: "sb_vbar_clip";
713 clip_to: "sb_vbar_clip_master";
717 description { state: "default" 0.0;
719 description { state: "hidden" 0.0;
721 color: 255 255 255 0;
724 part { name: "sb_vbar";
728 description { state: "default" 0.0;
731 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
735 to_y: "sb_vbar_top_padding";
736 to_x: "sb_vbar_right_padding";
740 to_y: "sb_vbar_bottom_padding";
741 to_x: "sb_vbar_right_padding";
745 part { name: "elm.dragable.vbar";
747 clip_to: "sb_vbar_clip";
755 description { state: "default" 0.0;
758 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
759 max: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIN_SIZE_INC;
772 part { name: "scrollbar_handler_image";
773 clip_to: "sb_vbar_clip";
776 description { state: "default" 0.0;
778 rel1.relative: 0.0 0.0;
779 rel1.to: "elm.dragable.vbar";
780 rel2.relative: 1.0 1.0;
781 rel2.to: "elm.dragable.vbar";
783 image.normal: "00_fast_scroll_handler_bg.#.png";
784 color_class: "B0731L3";
787 part { name: "scrollbar_handler_image_middle";
788 clip_to: "sb_vbar_clip";
791 description { state: "default" 0.0;
793 rel1.relative: 0.5 0.5;
794 rel1.to: "elm.dragable.vbar";
795 rel2.relative: 0.5 0.5;
796 rel2.to: "elm.dragable.vbar";
798 min: SCROLLER_HANDLER_SCROLLBAR_VBAR_MIDDLE_MIN_SIZE_INC;
799 image.normal: "00_fast_scroll_handler_center.png";
802 part { name: "sb_hbar_bottom_padding";
805 description { state: "default" 0.0;
806 min: 0 SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE;
807 max: 0 SCROLLER_HANDLER_SCROLLBAR_VBAR_PADDING_SIZE;
808 rel1.relative: 1.0 1.0;
809 rel2.relative: 1.0 1.0;
810 rel1.to: "elm.swallow.content";
811 rel2.to: "elm.swallow.content";
816 part { name: "sb_hbar_left_padding";
819 description { state: "default" 0.0;
822 rel1.relative: 0.0 1.0;
823 rel2.relative: 0.0 1.0;
824 rel1.to: "elm.swallow.content";
825 rel2.to: "elm.swallow.content";
830 part { name: "sb_hbar_right_padding";
833 description { state: "default" 0.0;
836 rel1.relative: 1.0 1.0;
837 rel2.relative: 1.0 1.0;
838 rel1.to: "elm.swallow.content";
839 rel2.to: "elm.swallow.content";
844 part { name: "sb_hbar_clip_master";
848 description { state: "default" 0.0;
850 description { state: "hidden" 0.0;
852 color: 255 255 255 0;
855 part { name: "sb_hbar_clip";
856 clip_to: "sb_hbar_clip_master";
860 description { state: "default" 0.0;
862 description { state: "hidden" 0.0;
864 color: 255 255 255 0;
867 part { name: "sb_hbar";
871 description { state: "default" 0.0;
874 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
878 to_x: "sb_hbar_left_padding";
879 to_y: "sb_hbar_bottom_padding";
884 to_x: "sb_hbar_right_padding";
885 to_y: "sb_hbar_bottom_padding";
889 part { name: "elm.dragable.hbar";
891 clip_to: "sb_hbar_clip";
899 description { state: "default" 0.0;
902 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
903 max: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIN_SIZE_INC;
916 part { name: "h_scrollbar_handler_image";
917 clip_to: "sb_hbar_clip";
920 description { state: "default" 0.0;
922 rel1.relative: 0.0 0.0;
923 rel1.to: "elm.dragable.hbar";
924 rel2.relative: 1.0 1.0;
925 rel2.to: "elm.dragable.hbar";
927 image.normal: "00_fast_scroll_handler_bg.#.png";
928 color_class: "B0731L3";
931 part { name: "scrollbar_handler_image_hor";
932 clip_to: "sb_hbar_clip";
935 description { state: "default" 0.0;
937 rel1.relative: 0.5 0.5;
938 rel1.to: "elm.dragable.hbar";
939 rel2.relative: 0.5 0.5;
940 rel2.to: "elm.dragable.hbar";
942 min: SCROLLER_HANDLER_SCROLLBAR_HBAR_MIDDLE_MIN_SIZE_INC;
943 image.normal: "00_fast_scroll_handler_center_h.png";
946 part { name: "disabler";
949 description { state: "default" 0.0;
955 description { state: "disabled" 0.0;
956 inherit: "default" 0.0;
962 program { name: "load";
966 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
967 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
970 set_int(sbalways_v, 0);
971 set_int(sbalways_h, 0);
972 set_int(sbvis_timer, 0);
973 emit("reload", "elm");
976 program { name: "vbar_show";
977 signal: "elm,action,show,vbar";
979 action: STATE_SET "default" 0.0;
980 target: "sb_vbar_clip_master";
982 program { name: "vbar_hide";
983 signal: "elm,action,hide,vbar";
985 action: STATE_SET "hidden" 0.0;
986 target: "sb_vbar_clip_master";
988 program { name: "vbar_show_always";
989 signal: "elm,action,show_always,vbar";
993 v = get_int(sbalways_v);
995 set_int(sbalways_v, 1);
996 v = get_int(sbvis_v);
998 emit("do-show-vbar", "");
1004 program { name: "vbar_show_notalways";
1005 signal: "elm,action,show_notalways,vbar";
1009 v = get_int(sbalways_v);
1011 set_int(sbalways_v, 0);
1012 v = get_int(sbvis_v);
1014 emit("do-hide-vbar", "");
1015 set_int(sbvis_v, 0);
1020 program { name: "vbar_press";
1021 signal: "mouse,down,1";
1022 source: "elm.dragable.vbar";
1023 action: SIGNAL_EMIT "elm,vbar,press" "elm";
1025 program { name: "vbar_unpress";
1026 signal: "mouse,up,1";
1027 source: "elm.dragable.vbar";
1028 action: SIGNAL_EMIT "elm,vbar,unpress" "elm";
1030 program { name: "sb_vbar_show";
1031 signal: "do-show-vbar";
1033 action: STATE_SET "default" 0.0;
1034 transition: LINEAR 0.1;
1035 target: "sb_vbar_clip";
1037 program { name: "sb_vbar_hide";
1038 signal: "do-hide-vbar";
1040 action: STATE_SET "hidden" 0.0;
1041 transition: LINEAR 0.1;
1042 target: "sb_vbar_clip";
1044 program { name: "hbar_show";
1045 signal: "elm,action,show,hbar";
1047 action: STATE_SET "default" 0.0;
1048 target: "sb_hbar_clip_master";
1050 program { name: "hbar_hide";
1051 signal: "elm,action,hide,hbar";
1053 action: STATE_SET "hidden" 0.0;
1054 target: "sb_hbar_clip_master";
1056 program { name: "hbar_show_always";
1057 signal: "elm,action,show_always,hbar";
1061 v = get_int(sbalways_h);
1063 set_int(sbalways_h, 1);
1064 v = get_int(sbvis_h);
1066 emit("do-show-hbar", "");
1067 set_int(sbvis_h, 1);
1072 program { name: "hbar_show_notalways";
1073 signal: "elm,action,show_notalways,hbar";
1077 v = get_int(sbalways_h);
1079 set_int(sbalways_h, 0);
1080 v = get_int(sbvis_h);
1082 emit("do-hide-hbar", "");
1083 set_int(sbvis_h, 0);
1088 program { name: "hbar_press";
1089 signal: "mouse,down,1";
1090 source: "elm.dragable.hbar";
1091 action: SIGNAL_EMIT "elm,hbar,press" "elm";
1093 program { name: "hbar_unpress";
1094 signal: "mouse,up,1";
1095 source: "elm.dragable.hbar";
1096 action: SIGNAL_EMIT "elm,hbar,unpress" "elm";
1098 program { name: "sb_hbar_show";
1099 signal: "do-show-hbar";
1101 action: STATE_SET "default" 0.0;
1102 transition: LINEAR 0.1;
1103 target: "sb_hbar_clip";
1105 program { name: "sb_hbar_hide";
1106 signal: "do-hide-hbar";
1108 action: STATE_SET "hidden" 0.0;
1109 transition: LINEAR 0.1;
1110 target: "sb_hbar_clip";
1113 program { name: "scroll";
1114 signal: "elm,action,scroll";
1118 v = get_int(sbvis_v);
1119 v |= get_int(sbalways_v);
1121 emit("do-show-vbar", "");
1122 set_int(sbvis_v, 1);
1124 v = get_int(sbvis_h);
1125 v |= get_int(sbalways_h);
1127 emit("do-show-hbar", "");
1128 set_int(sbvis_h, 1);
1130 v = get_int(sbvis_timer);
1131 if (v > 0) cancel_timer(v);
1132 v = timer(1.0, "timer0", 0);
1133 set_int(sbvis_timer, v);
1136 program { name: "disable";
1137 signal: "elm,state,disabled";
1139 action: STATE_SET "disabled" 0.0;
1142 program { name: "enable";
1143 signal: "elm,state,enabled";
1145 action: STATE_SET "default" 0.0;
1148 program { name: "show";
1153 emit("do-show-vbar", "");
1154 set_int(sbvis_v, 1);
1155 v = get_int(sbalways_v);
1157 v = get_int(sbvis_timer);
1158 if (v > 0) cancel_timer(v);
1159 v = timer(1.0, "timer0", 0);
1160 set_int(sbvis_timer, v);
1162 emit("do-show-hbar", "");
1163 set_int(sbvis_h, 1);
1164 v = get_int(sbalways_h);
1166 v = get_int(sbvis_timer);
1167 if (v > 0) cancel_timer(v);
1168 v = timer(1.0, "timer0", 0);
1169 set_int(sbvis_timer, v);
1176 group { name: "elm/scroller/base/list_effect";
1177 alias: "elm/genlist/base/default";
1178 alias: "elm/genscroller/base/default";
1179 alias: "elm/list/base/default";
1180 alias: "elm/gengrid/base/default";
1181 inherit: "elm/scroller/base/default";
1184 part { name: "shadow_top1";
1188 description { state: "default" 0.0;
1189 rel1.relative: 0.0 0.0;
1191 rel2.relative: 1.0 0.0;
1197 color_class: "B018";
1200 description { state: "start" 0.0;
1201 inherit: "default" 0.0;
1206 part { name: "shadow_top2";
1210 description { state: "default" 0.0;
1211 rel1.relative: 0.0 0.0;
1213 rel2.relative: 1.0 0.0;
1219 color_class: "B018";
1222 description { state: "start" 0.0;
1223 inherit: "default" 0.0;
1228 part { name: "shadow_top3";
1232 description { state: "default" 0.0;
1233 rel1.relative: 0.0 0.0;
1235 rel2.relative: 1.0 0.0;
1241 color_class: "B018";
1244 description { state: "start" 0.0;
1245 inherit: "default" 0.0;
1250 part { name: "shadow_bottom1";
1254 description { state: "default" 0.0;
1255 rel1.relative: 0.0 1.0;
1257 rel2.relative: 1.0 1.0;
1263 color_class: "B018";
1266 description { state: "start" 0.0;
1267 inherit: "default" 0.0;
1269 rel2.offset: -1 -25;
1272 part { name: "shadow_bottom2";
1276 description { state: "default" 0.0;
1277 rel1.relative: 0.0 1.0;
1279 rel2.relative: 1.0 1.0;
1285 color_class: "B018";
1288 description { state: "start" 0.0;
1289 inherit: "default" 0.0;
1291 rel2.offset: -1 -16;
1294 part { name: "shadow_bottom3";
1298 description { state: "default" 0.0;
1299 rel1.relative: 0.0 1.0;
1301 rel2.relative: 1.0 1.0;
1307 color_class: "B018";
1310 description { state: "start" 0.0;
1311 inherit: "default" 0.0;
1316 part { name: "shadow_left1";
1320 description { state: "default" 0.0;
1321 rel1.relative: 0.0 0.0;
1323 rel2.relative: 0.0 1.0;
1329 color_class: "B018";
1332 description { state: "start" 0.0;
1333 inherit: "default" 0.0;
1338 part { name: "shadow_left2";
1342 description { state: "default" 0.0;
1343 rel1.relative: 0.0 0.0;
1345 rel2.relative: 0.0 1.0;
1351 color_class: "B018";
1354 description { state: "start" 0.0;
1355 inherit: "default" 0.0;
1360 part { name: "shadow_left3";
1364 description { state: "default" 0.0;
1365 rel1.relative: 0.0 0.0;
1367 rel2.relative: 0.0 1.0;
1373 color_class: "B018";
1376 description { state: "start" 0.0;
1377 inherit: "default" 0.0;
1382 part { name: "shadow_right1";
1386 description { state: "default" 0.0;
1387 rel1.relative: 1.0 0.0;
1389 rel2.relative: 1.0 1.0;
1395 color_class: "B018";
1398 description { state: "start" 0.0;
1399 inherit: "default" 0.0;
1401 rel2.offset: -25 -1;
1404 part { name: "shadow_right2";
1408 description { state: "default" 0.0;
1409 rel1.relative: 1.0 0.0;
1411 rel2.relative: 1.0 1.0;
1417 color_class: "B018";
1420 description { state: "start" 0.0;
1421 inherit: "default" 0.0;
1423 rel2.offset: -16 -1;
1426 part { name: "shadow_right3";
1430 description { state: "default" 0.0;
1431 rel1.relative: 1.0 0.0;
1433 rel2.relative: 1.0 1.0;
1439 color_class: "B018";
1442 description { state: "start" 0.0;
1443 inherit: "default" 0.0;
1448 part { name: "padding_jump_to_top";
1451 description { state: "default" 0.0;
1452 min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1453 max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
1454 rel1.relative: 1.0 0.0;
1455 rel2.relative: 1.0 0.0;
1462 part { name: "elm.swallow.jump_to_top";
1465 description { state: "default" 0.0;
1467 to: "padding_jump_to_top";
1471 to: "padding_jump_to_top";
1478 part { name: "padding_jump_to_left";
1481 description { state: "default" 0.0;
1482 min: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1483 max: BUTTON_JUMP_LEFT_PADDING_TO_SCROLLER_MIN_MAX_INC;
1484 rel1.relative: 0.0 1.0;
1485 rel2.relative: 0.0 1.0;
1492 part { name: "elm.swallow.jump_to_left";
1495 description { state: "default" 0.0;
1497 to: "padding_jump_to_left";
1501 to: "padding_jump_to_left";
1508 part { name: "event";
1512 description { state: "default" 0.0;
1518 program { name: "load";
1520 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
1521 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
1522 set_int(sbvis_h, 0);
1523 set_int(sbvis_v, 0);
1524 set_int(sbalways_v, 0);
1525 set_int(sbalways_h, 0);
1526 set_int(sbvis_timer, 0);
1528 emit("reload", "elm");
1531 program { name: "scroll";
1532 signal: "elm,action,scroll";
1536 v = get_int(sbvis_v);
1537 v |= get_int(sbalways_v);
1539 emit("do-show-vbar", "");
1540 set_int(sbvis_v, 1);
1542 v = get_int(sbvis_h);
1543 v |= get_int(sbalways_h);
1545 emit("do-show-hbar", "");
1546 set_int(sbvis_h, 1);
1548 v = get_int(sbvis_timer);
1549 if (v > 0) cancel_timer(v);
1550 v = timer(1, "timer0", 0);
1551 set_int(sbvis_timer, v);
1554 program { name: "edge_top_mouse_down";
1555 signal: "elm,state,mouse,down";
1558 set_int(effect_top_down, 1);
1562 program { name: "edge_top_mouse_up";
1563 signal: "elm,state,mouse,up";
1566 set_int(effect_top_down, 0);
1567 if (get_int(effect_top_start))
1569 set_int(effect_top_reset, 0);
1570 if (!get_int(effect_top_anim))
1572 if (!get_int(effect_top_end))
1574 set_int(effect_top_end, 1);
1575 run_program(PROGRAM:"edge_top_end");
1581 program { name: "edge_top_scroll";
1582 signal: "elm,action,scroll";
1585 if (get_int(effect_top_start))
1587 set_state(PART:"shadow_top1", "default", 0.0);
1588 set_state(PART:"shadow_top2", "default", 0.0);
1589 set_state(PART:"shadow_top3", "default", 0.0);
1590 set_int(effect_top_reset, 0);
1591 run_program(PROGRAM:"edge_top_init");
1595 program { name: "edge_top_end";
1596 action: STATE_SET "default" 0.0;
1597 target: "shadow_top1";
1598 target: "shadow_top2";
1599 target: "shadow_top3";
1600 transition: SINUSOIDAL 0.3;
1601 after: "edge_top_init";
1603 program { name: "edge_top_init";
1605 set_int(effect_top_move, 0);
1606 if (!get_int(effect_top_reset))
1607 set_int(effect_top_start, 0);
1608 set_int(effect_top_max, 0);
1609 set_int(top_prev_diff, 0);
1610 set_int(effect_top_end, 0);
1614 program { name: "edge_top";
1615 signal: "elm,edge,top";
1618 if (!get_int(effect_top_start))
1620 set_int(effect_top_start, 1);
1621 set_int(effect_top_anim, 1);
1622 run_program(PROGRAM:"edge_top_start");
1626 program { name: "edge_top_start";
1627 action: STATE_SET "start" 0.0;
1628 target: "shadow_top1";
1629 target: "shadow_top2";
1630 target: "shadow_top3";
1631 transition: SINUSOIDAL 0.2;
1632 after: "edge_top_after";
1634 program { name: "edge_top_after";
1638 set_int(top_down_y, yy);
1639 set_int(effect_top_anim, 0);
1641 if (get_int(effect_top_down))
1643 set_int(effect_top_move, 1);
1648 set_int(effect_top_reset, 0);
1649 if (!get_int(effect_top_end))
1651 set_int(effect_top_end, 1);
1652 run_program(PROGRAM:"edge_top_end");
1657 program { name: "edge_top_mouse_move";
1658 signal: "elm,state,mouse,move";
1661 if (get_int(effect_top_move))
1664 new Float:fx1, Float:fx2, Float:fx3;
1666 set_int(top_move_y, yy);
1667 set_int(top_diff, (get_int(top_move_y) - get_int(top_down_y)));
1668 if (get_int(top_diff) < get_int(top_prev_diff))
1670 set_int(top_prev_diff, 0);
1671 set_int(effect_top_move, 0);
1672 set_int(effect_top_reset, 1);
1673 if (!get_int(effect_top_end))
1675 set_int(effect_top_end, 1);
1676 run_program(PROGRAM:"edge_top_end");
1681 if (!get_int(effect_top_end))
1683 if (get_int(top_diff) <= 90 && !get_int(effect_top_max))
1685 fx1 = fx2 = fx3 = sin(get_int(top_diff), DEGREES);
1686 fx1 = fx1 * 16.0 + 26;
1687 fx2 = fx2 * 10.0 + 17;
1688 fx3 = fx3 * 5.0 + 8;
1692 set_int(effect_top_max, 1);
1697 custom_state(PART:"shadow_top1", "default", 0.0);
1698 set_state_val(PART:"shadow_top1", STATE_REL1_OFFSET, 0, round(fx1));
1699 set_state_val(PART:"shadow_top1", STATE_REL2_OFFSET, -1, round(fx1) - 1);
1700 set_state(PART:"shadow_top1", "custom", 0.0);
1702 custom_state(PART:"shadow_top2", "default", 0.0);
1703 set_state_val(PART:"shadow_top2", STATE_REL1_OFFSET, 0, round(fx2));
1704 set_state_val(PART:"shadow_top2", STATE_REL2_OFFSET, -1, round(fx2) - 1);
1705 set_state(PART:"shadow_top2", "custom", 0.0);
1707 custom_state(PART:"shadow_top3", "default", 0.0);
1708 set_state_val(PART:"shadow_top3", STATE_REL1_OFFSET, 0, round(fx3));
1709 set_state_val(PART:"shadow_top3", STATE_REL2_OFFSET, -1, round(fx3) - 1);
1710 set_state(PART:"shadow_top3", "custom", 0.0);
1711 set_int(top_prev_diff, get_int(top_diff));
1717 program { name: "edge_bottom_mouse_down";
1718 signal: "elm,state,mouse,down";
1721 set_int(effect_bottom_down, 1);
1725 program { name: "edge_bottom_mouse_up";
1726 signal: "elm,state,mouse,up";
1729 set_int(effect_bottom_down, 0);
1730 if (get_int(effect_bottom_start))
1732 set_int(effect_bottom_reset, 0);
1733 if (!get_int(effect_bottom_anim))
1735 if (!get_int(effect_bottom_end))
1737 set_int(effect_bottom_end, 1);
1738 run_program(PROGRAM:"edge_bottom_end");
1744 program { name: "edge_bottom_scroll";
1745 signal: "elm,action,scroll";
1748 if (get_int(effect_bottom_start))
1750 set_state(PART:"shadow_bottom1", "default", 0.0);
1751 set_state(PART:"shadow_bottom2", "default", 0.0);
1752 set_state(PART:"shadow_bottom3", "default", 0.0);
1753 set_int(effect_bottom_reset, 0);
1754 run_program(PROGRAM:"edge_bottom_init");
1758 program { name: "edge_bottom_end";
1759 action: STATE_SET "default" 0.0;
1760 target: "shadow_bottom1";
1761 target: "shadow_bottom2";
1762 target: "shadow_bottom3";
1763 transition: SINUSOIDAL 0.3;
1764 after: "edge_bottom_init";
1766 program { name: "edge_bottom_init";
1768 set_int(effect_bottom_move, 0);
1769 if (!get_int(effect_bottom_reset))
1770 set_int(effect_bottom_start, 0);
1771 set_int(effect_bottom_max, 0);
1772 set_int(bottom_prev_diff, 0);
1773 set_int(effect_bottom_end, 0);
1777 program { name: "edge_bottom";
1778 signal: "elm,edge,bottom";
1781 if (!get_int(effect_bottom_start))
1783 set_int(effect_bottom_start, 1);
1784 set_int(effect_bottom_anim, 1);
1785 run_program(PROGRAM:"edge_bottom_start");
1789 program { name: "edge_bottom_start";
1790 action: STATE_SET "start" 0.0;
1791 target: "shadow_bottom1";
1792 target: "shadow_bottom2";
1793 target: "shadow_bottom3";
1794 transition: SINUSOIDAL 0.2;
1795 after: "edge_bottom_after";
1797 program { name: "edge_bottom_after";
1801 set_int(effect_bottom_anim, 0);
1802 set_int(bottom_down_y, yy);
1804 if (get_int(effect_bottom_down))
1806 set_int(effect_bottom_move, 1);
1811 set_int(effect_bottom_reset, 0);
1812 if (!get_int(effect_bottom_end))
1814 set_int(effect_bottom_end, 1);
1815 run_program(PROGRAM:"edge_bottom_end");
1820 program { name: "edge_bottom_mouse_move";
1821 signal: "elm,state,mouse,move";
1824 if (get_int(effect_bottom_move))
1827 new Float:fx1, Float:fx2, Float:fx3;
1829 set_int(bottom_move_y, yy);
1830 set_int(bottom_diff, (get_int(bottom_down_y) - get_int(bottom_move_y)));
1831 if (get_int(bottom_diff) < get_int(bottom_prev_diff))
1833 set_int(bottom_prev_diff, 0);
1834 set_int(effect_bottom_move, 0);
1835 set_int(effect_bottom_reset, 1);
1836 if (!get_int(effect_bottom_end))
1838 set_int(effect_bottom_end, 1);
1839 run_program(PROGRAM:"edge_bottom_end");
1844 if (!get_int(effect_bottom_end))
1846 if (get_int(bottom_diff) <= 90 && !get_int(effect_bottom_max))
1848 fx1 = fx2 = fx3 = sin(get_int(bottom_diff), DEGREES);
1849 fx1 = fx1 * 16.0 + 26;
1850 fx2 = fx2 * 10.0 + 17;
1851 fx3 = fx3 * 5.0 + 8;
1855 set_int(effect_bottom_max, 1);
1860 custom_state(PART:"shadow_bottom1", "default", 0.0);
1861 set_state_val(PART:"shadow_bottom1", STATE_REL1_OFFSET, 0, round(fx1) * -1);
1862 set_state_val(PART:"shadow_bottom1", STATE_REL2_OFFSET, -1, (round(fx1) - 1) * -1);
1863 set_state(PART:"shadow_bottom1", "custom", 0.0);
1865 custom_state(PART:"shadow_bottom2", "default", 0.0);
1866 set_state_val(PART:"shadow_bottom2", STATE_REL1_OFFSET, 0, round(fx2) * -1);
1867 set_state_val(PART:"shadow_bottom2", STATE_REL2_OFFSET, -1, (round(fx2) - 1) * -1);
1868 set_state(PART:"shadow_bottom2", "custom", 0.0);
1870 custom_state(PART:"shadow_bottom3", "default", 0.0);
1871 set_state_val(PART:"shadow_bottom3", STATE_REL1_OFFSET, 0, round(fx3) * -1);
1872 set_state_val(PART:"shadow_bottom3", STATE_REL2_OFFSET, -1, (round(fx3) - 1) * -1 );
1873 set_state(PART:"shadow_bottom3", "custom", 0.0);
1874 set_int(bottom_prev_diff, get_int(bottom_diff));
1880 program { name: "edge_left_mouse_down";
1881 signal: "elm,state,mouse,down";
1884 set_int(effect_left_down, 1);
1888 program { name: "edge_left_mouse_up";
1889 signal: "elm,state,mouse,up";
1892 set_int(effect_left_down, 0);
1893 if (get_int(effect_left_start))
1895 set_int(effect_left_reset, 0);
1896 if (!get_int(effect_left_anim))
1898 if (!get_int(effect_left_end))
1900 set_int(effect_left_end, 1);
1901 run_program(PROGRAM:"edge_left_end");
1907 program { name: "edge_left_scroll";
1908 signal: "elm,action,scroll";
1911 if (get_int(effect_left_start))
1913 set_state(PART:"shadow_left1", "default", 0.0);
1914 set_state(PART:"shadow_left2", "default", 0.0);
1915 set_state(PART:"shadow_left3", "default", 0.0);
1916 set_int(effect_left_reset, 0);
1917 run_program(PROGRAM:"edge_left_init");
1921 program { name: "edge_left_end";
1922 action: STATE_SET "default" 0.0;
1923 target: "shadow_left1";
1924 target: "shadow_left2";
1925 target: "shadow_left3";
1926 transition: SINUSOIDAL 0.3;
1927 after: "edge_left_init";
1929 program { name: "edge_left_init";
1931 set_int(effect_left_move, 0);
1932 if (!get_int(effect_left_reset))
1933 set_int(effect_left_start, 0);
1934 set_int(effect_left_max, 0);
1935 set_int(left_prev_diff, 0);
1936 set_int(effect_left_end, 0);
1940 program { name: "edge_left";
1941 signal: "elm,edge,left";
1944 if (!get_int(effect_left_start))
1946 set_int(effect_left_start, 1);
1947 set_int(effect_left_anim, 1);
1948 run_program(PROGRAM:"edge_left_start");
1952 program { name: "edge_left_start";
1953 action: STATE_SET "start" 0.0;
1954 target: "shadow_left1";
1955 target: "shadow_left2";
1956 target: "shadow_left3";
1957 transition: SINUSOIDAL 0.2;
1958 after: "edge_left_after";
1960 program { name: "edge_left_after";
1964 set_int(left_down_x, xx);
1965 set_int(effect_left_anim, 0);
1967 if (get_int(effect_left_down))
1969 set_int(effect_left_move, 1);
1974 set_int(effect_left_reset, 0);
1975 if (!get_int(effect_left_end))
1977 set_int(effect_left_end, 1);
1978 run_program(PROGRAM:"edge_left_end");
1983 program { name: "edge_left_mouse_move";
1984 signal: "elm,state,mouse,move";
1987 if (get_int(effect_left_move))
1990 new Float:fx1, Float:fx2, Float:fx3;
1992 set_int(left_move_x, xx);
1993 set_int(left_diff, (get_int(left_move_x) - get_int(left_down_x)));
1994 if (get_int(left_diff) < get_int(left_prev_diff))
1996 set_int(left_prev_diff, 0);
1997 set_int(effect_left_move, 0);
1998 set_int(effect_left_reset, 1);
1999 if (!get_int(effect_left_end))
2001 set_int(effect_left_end, 1);
2002 run_program(PROGRAM:"edge_left_end");
2007 if (!get_int(effect_left_end))
2009 if (get_int(left_diff) <= 90 && !get_int(effect_left_max))
2011 fx1 = fx2 = fx3 = sin(get_int(left_diff), DEGREES);
2012 fx1 = fx1 * 16.0 + 26;
2013 fx2 = fx2 * 10.0 + 17;
2014 fx3 = fx3 * 5.0 + 8;
2018 set_int(effect_left_max, 1);
2023 custom_state(PART:"shadow_left1", "default", 0.0);
2024 set_state_val(PART:"shadow_left1", STATE_REL1_OFFSET, round(fx1), 0);
2025 set_state_val(PART:"shadow_left1", STATE_REL2_OFFSET, round(fx1) - 1, -1);
2026 set_state(PART:"shadow_left1", "custom", 0.0);
2028 custom_state(PART:"shadow_left2", "default", 0.0);
2029 set_state_val(PART:"shadow_left2", STATE_REL1_OFFSET, round(fx2), 0);
2030 set_state_val(PART:"shadow_left2", STATE_REL2_OFFSET, round(fx2) - 1, - 1);
2031 set_state(PART:"shadow_left2", "custom", 0.0);
2033 custom_state(PART:"shadow_left3", "default", 0.0);
2034 set_state_val(PART:"shadow_left3", STATE_REL1_OFFSET, round(fx3), 0);
2035 set_state_val(PART:"shadow_left3", STATE_REL2_OFFSET, round(fx3) - 1, - 1);
2036 set_state(PART:"shadow_left3", "custom", 0.0);
2037 set_int(left_prev_diff, get_int(left_diff));
2043 program { name: "edge_right_mouse_down";
2044 signal: "elm,state,mouse,down";
2047 set_int(effect_right_down, 1);
2051 program { name: "edge_right_mouse_up";
2052 signal: "elm,state,mouse,up";
2055 set_int(effect_right_down, 0);
2056 if (get_int(effect_right_start))
2058 set_int(effect_right_reset, 0);
2059 if (!get_int(effect_right_anim))
2061 if (!get_int(effect_right_end))
2063 set_int(effect_right_end, 1);
2064 run_program(PROGRAM:"edge_right_end");
2070 program { name: "edge_right_scroll";
2071 signal: "elm,action,scroll";
2074 if (get_int(effect_right_start))
2076 set_state(PART:"shadow_right1", "default", 0.0);
2077 set_state(PART:"shadow_right2", "default", 0.0);
2078 set_state(PART:"shadow_right3", "default", 0.0);
2079 set_int(effect_right_reset, 0);
2080 run_program(PROGRAM:"edge_right_init");
2084 program { name: "edge_right_end";
2085 action: STATE_SET "default" 0.0;
2086 target: "shadow_right1";
2087 target: "shadow_right2";
2088 target: "shadow_right3";
2089 transition: SINUSOIDAL 0.3;
2090 after: "edge_right_init";
2092 program { name: "edge_right_init";
2094 set_int(effect_right_move, 0);
2095 if (!get_int(effect_right_reset))
2096 set_int(effect_right_start, 0);
2097 set_int(effect_right_max, 0);
2098 set_int(right_prev_diff, 0);
2099 set_int(effect_right_end, 0);
2103 program { name: "edge_right";
2104 signal: "elm,edge,right";
2107 if (!get_int(effect_right_start))
2109 set_int(effect_right_start, 1);
2110 set_int(effect_right_anim, 1);
2111 run_program(PROGRAM:"edge_right_start");
2115 program { name: "edge_right_start";
2116 action: STATE_SET "start" 0.0;
2117 target: "shadow_right1";
2118 target: "shadow_right2";
2119 target: "shadow_right3";
2120 transition: SINUSOIDAL 0.2;
2121 after: "edge_right_after";
2123 program { name: "edge_right_after";
2127 set_int(right_down_x, xx);
2128 set_int(effect_right_anim, 0);
2130 if (get_int(effect_right_down))
2132 set_int(effect_right_move, 1);
2137 set_int(effect_right_reset, 0);
2138 if (!get_int(effect_right_end))
2140 set_int(effect_right_end, 1);
2141 run_program(PROGRAM:"edge_right_end");
2146 program { name: "edge_right_mouse_move";
2147 signal: "elm,state,mouse,move";
2150 if (get_int(effect_right_move))
2153 new Float:fx1, Float:fx2, Float:fx3;
2155 set_int(right_move_x, xx);
2156 set_int(right_diff, (get_int(right_down_x) - get_int(right_move_x)));
2157 if (get_int(right_diff) < get_int(right_prev_diff))
2159 set_int(right_prev_diff, 0);
2160 set_int(effect_right_move, 0);
2161 set_int(effect_right_reset, 1);
2162 if (!get_int(effect_right_end))
2164 set_int(effect_right_end, 1);
2165 run_program(PROGRAM:"edge_right_end");
2170 if (!get_int(effect_right_end))
2172 if (get_int(right_diff) <= 90 && !get_int(effect_right_max))
2174 fx1 = fx2 = fx3 = sin(get_int(right_diff), DEGREES);
2175 fx1 = fx1 * 10.0 + 32;
2176 fx2 = fx2 * 7.0 + 20;
2177 fx3 = fx3 * 3.0 + 10;
2181 set_int(effect_right_max, 1);
2186 custom_state(PART:"shadow_right1", "default", 0.0);
2187 set_state_val(PART:"shadow_right1", STATE_REL1_OFFSET, round(fx1) * -1, 0);
2188 set_state_val(PART:"shadow_right1", STATE_REL2_OFFSET, (round(fx1) - 1) * -1, -1);
2189 set_state(PART:"shadow_right1", "custom", 0.0);
2191 custom_state(PART:"shadow_right2", "default", 0.0);
2192 set_state_val(PART:"shadow_right2", STATE_REL1_OFFSET, round(fx2) * -1, 0);
2193 set_state_val(PART:"shadow_right2", STATE_REL2_OFFSET, (round(fx2) - 1) * -1, - 1);
2194 set_state(PART:"shadow_right2", "custom", 0.0);
2196 custom_state(PART:"shadow_right3", "default", 0.0);
2197 set_state_val(PART:"shadow_right3", STATE_REL1_OFFSET, round(fx3) * -1, 0);
2198 set_state_val(PART:"shadow_right3", STATE_REL2_OFFSET, (round(fx3) - 1) * -1, - 1);
2199 set_state(PART:"shadow_right3", "custom", 0.0);
2200 set_int(right_prev_diff, get_int(right_diff));
2209 group { name: "elm/scroller/base/handler/list_effect";
2210 alias: "elm/genlist/base/handler";
2211 alias: "elm/genscroller/base/handler";
2212 alias: "elm/list/base/handler";
2213 alias: "elm/gengrid/base/handler";
2214 inherit: "elm/scroller/base/handler";
2217 part { name: "shadow_top1";
2221 description { state: "default" 0.0;
2222 rel1.relative: 0.0 0.0;
2224 rel2.relative: 1.0 0.0;
2230 color_class: "B018";
2233 description { state: "start" 0.0;
2234 inherit: "default" 0.0;
2239 part { name: "shadow_top2";
2243 description { state: "default" 0.0;
2244 rel1.relative: 0.0 0.0;
2246 rel2.relative: 1.0 0.0;
2252 color_class: "B018";
2255 description { state: "start" 0.0;
2256 inherit: "default" 0.0;
2261 part { name: "shadow_top3";
2265 description { state: "default" 0.0;
2266 rel1.relative: 0.0 0.0;
2268 rel2.relative: 1.0 0.0;
2274 color_class: "B018";
2277 description { state: "start" 0.0;
2278 inherit: "default" 0.0;
2283 part { name: "shadow_bottom1";
2287 description { state: "default" 0.0;
2288 rel1.relative: 0.0 1.0;
2290 rel2.relative: 1.0 1.0;
2296 color_class: "B018";
2299 description { state: "start" 0.0;
2300 inherit: "default" 0.0;
2302 rel2.offset: -1 -25;
2305 part { name: "shadow_bottom2";
2309 description { state: "default" 0.0;
2310 rel1.relative: 0.0 1.0;
2312 rel2.relative: 1.0 1.0;
2318 color_class: "B018";
2321 description { state: "start" 0.0;
2322 inherit: "default" 0.0;
2324 rel2.offset: -1 -16;
2327 part { name: "shadow_bottom3";
2331 description { state: "default" 0.0;
2332 rel1.relative: 0.0 1.0;
2334 rel2.relative: 1.0 1.0;
2340 color_class: "B018";
2343 description { state: "start" 0.0;
2344 inherit: "default" 0.0;
2349 part { name: "shadow_left1";
2353 description { state: "default" 0.0;
2354 rel1.relative: 0.0 0.0;
2356 rel2.relative: 0.0 1.0;
2362 color_class: "B018";
2365 description { state: "start" 0.0;
2366 inherit: "default" 0.0;
2371 part { name: "shadow_left2";
2375 description { state: "default" 0.0;
2376 rel1.relative: 0.0 0.0;
2378 rel2.relative: 0.0 1.0;
2384 color_class: "B018";
2387 description { state: "start" 0.0;
2388 inherit: "default" 0.0;
2393 part { name: "shadow_left3";
2397 description { state: "default" 0.0;
2398 rel1.relative: 0.0 0.0;
2400 rel2.relative: 0.0 1.0;
2406 color_class: "B018";
2409 description { state: "start" 0.0;
2410 inherit: "default" 0.0;
2415 part { name: "shadow_right1";
2419 description { state: "default" 0.0;
2420 rel1.relative: 1.0 0.0;
2422 rel2.relative: 1.0 1.0;
2428 color_class: "B018";
2431 description { state: "start" 0.0;
2432 inherit: "default" 0.0;
2434 rel2.offset: -25 -1;
2437 part { name: "shadow_right2";
2441 description { state: "default" 0.0;
2442 rel1.relative: 1.0 0.0;
2444 rel2.relative: 1.0 1.0;
2450 color_class: "B018";
2453 description { state: "start" 0.0;
2454 inherit: "default" 0.0;
2456 rel2.offset: -16 -1;
2459 part { name: "shadow_right3";
2463 description { state: "default" 0.0;
2464 rel1.relative: 1.0 0.0;
2466 rel2.relative: 1.0 1.0;
2472 color_class: "B018";
2475 description { state: "start" 0.0;
2476 inherit: "default" 0.0;
2481 part { name: "padding_jump_to_top";
2484 description { state: "default" 0.0;
2485 min: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
2486 max: BUTTON_JUMP_TOP_PADDING_TO_SCROLLER_MIN_MAX_INC;
2487 rel1.relative: 1.0 0.0;
2488 rel2.relative: 1.0 0.0;
2495 part { name: "elm.swallow.jump_to_top";
2498 description { state: "default" 0.0;
2500 to: "padding_jump_to_top";
2504 to: "padding_jump_to_top";
2511 part { name: "event";
2515 description { state: "default" 0.0;
2521 program { name: "load";
2525 set_state(PART:"sb_hbar_clip", "hidden", 0.0);
2526 set_state(PART:"sb_vbar_clip", "hidden", 0.0);
2527 set_int(sbvis_h, 0);
2528 set_int(sbvis_v, 0);
2529 set_int(sbalways_v, 0);
2530 set_int(sbalways_h, 0);
2531 set_int(sbvis_timer, 0);
2532 emit("reload", "elm");
2535 program { name: "vbar_show_always";
2536 signal: "elm,action,show_always,vbar";
2540 v = get_int(sbalways_v);
2542 set_int(sbalways_v, 1);
2543 v = get_int(sbvis_v);
2545 emit("do-show-vbar", "");
2546 set_int(sbvis_v, 1);
2551 program { name: "vbar_show_notalways";
2552 signal: "elm,action,show_notalways,vbar";
2556 v = get_int(sbalways_v);
2558 set_int(sbalways_v, 0);
2559 v = get_int(sbvis_v);
2561 emit("do-hide-vbar", "");
2562 set_int(sbvis_v, 0);
2567 program { name: "hbar_show_always";
2568 signal: "elm,action,show_always,hbar";
2572 v = get_int(sbalways_h);
2574 set_int(sbalways_h, 1);
2575 v = get_int(sbvis_h);
2577 emit("do-show-hbar", "");
2578 set_int(sbvis_h, 1);
2583 program { name: "hbar_show_notalways";
2584 signal: "elm,action,show_notalways,hbar";
2588 v = get_int(sbalways_h);
2590 set_int(sbalways_h, 0);
2591 v = get_int(sbvis_h);
2593 emit("do-hide-hbar", "");
2594 set_int(sbvis_h, 0);
2599 program { name: "scroll";
2600 signal: "elm,action,scroll";
2604 v = get_int(sbvis_v);
2605 v |= get_int(sbalways_v);
2607 emit("do-show-vbar", "");
2608 set_int(sbvis_v, 1);
2610 v = get_int(sbvis_h);
2611 v |= get_int(sbalways_h);
2613 emit("do-show-hbar", "");
2614 set_int(sbvis_h, 1);
2616 v = get_int(sbvis_timer);
2617 if (v > 0) cancel_timer(v);
2618 v = timer(1, "timer0", 0);
2619 set_int(sbvis_timer, v);
2622 program { name: "edge_top_mouse_down";
2623 signal: "elm,state,mouse,down";
2626 set_int(effect_top_down, 1);
2630 program { name: "edge_top_mouse_up";
2631 signal: "elm,state,mouse,up";
2634 set_int(effect_top_down, 0);
2635 if (get_int(effect_top_start))
2637 set_int(effect_top_reset, 0);
2638 if (!get_int(effect_top_anim))
2640 if (!get_int(effect_top_end))
2642 set_int(effect_top_end, 1);
2643 run_program(PROGRAM:"edge_top_end");
2649 program { name: "edge_top_scroll";
2650 signal: "elm,action,scroll";
2653 if (get_int(effect_top_start))
2655 set_state(PART:"shadow_top1", "default", 0.0);
2656 set_state(PART:"shadow_top2", "default", 0.0);
2657 set_state(PART:"shadow_top3", "default", 0.0);
2658 set_int(effect_top_reset, 0);
2659 run_program(PROGRAM:"edge_top_init");
2663 program { name: "edge_top_end";
2664 action: STATE_SET "default" 0.0;
2665 target: "shadow_top1";
2666 target: "shadow_top2";
2667 target: "shadow_top3";
2668 transition: SINUSOIDAL 0.3;
2669 after: "edge_top_init";
2671 program { name: "edge_top_init";
2673 set_int(effect_top_move, 0);
2674 if (!get_int(effect_top_reset))
2675 set_int(effect_top_start, 0);
2676 set_int(effect_top_max, 0);
2677 set_int(top_prev_diff, 0);
2678 set_int(effect_top_end, 0);
2682 program { name: "edge_top";
2683 signal: "elm,edge,top";
2686 if (!get_int(effect_top_start))
2688 set_int(effect_top_start, 1);
2689 set_int(effect_top_anim, 1);
2690 run_program(PROGRAM:"edge_top_start");
2694 program { name: "edge_top_start";
2695 action: STATE_SET "start" 0.0;
2696 target: "shadow_top1";
2697 target: "shadow_top2";
2698 target: "shadow_top3";
2699 transition: SINUSOIDAL 0.2;
2700 after: "edge_top_after";
2702 program { name: "edge_top_after";
2706 set_int(top_down_y, yy);
2707 set_int(effect_top_anim, 0);
2709 if (get_int(effect_top_down))
2711 set_int(effect_top_move, 1);
2716 set_int(effect_top_reset, 0);
2717 if (!get_int(effect_top_end))
2719 set_int(effect_top_end, 1);
2720 run_program(PROGRAM:"edge_top_end");
2725 program { name: "edge_top_mouse_move";
2726 signal: "elm,state,mouse,move";
2729 if (get_int(effect_top_move))
2732 new Float:fx1, Float:fx2, Float:fx3;
2734 set_int(top_move_y, yy);
2735 set_int(top_diff, (get_int(top_move_y) - get_int(top_down_y)));
2736 if (get_int(top_diff) < get_int(top_prev_diff))
2738 set_int(top_prev_diff, 0);
2739 set_int(effect_top_move, 0);
2740 set_int(effect_top_reset, 1);
2741 if (!get_int(effect_top_end))
2743 set_int(effect_top_end, 1);
2744 run_program(PROGRAM:"edge_top_end");
2749 if (!get_int(effect_top_end))
2751 if (get_int(top_diff) <= 90 && !get_int(effect_top_max))
2753 fx1 = fx2 = fx3 = sin(get_int(top_diff), DEGREES);
2754 fx1 = fx1 * 16.0 + 26;
2755 fx2 = fx2 * 10.0 + 17;
2756 fx3 = fx3 * 5.0 + 8;
2760 set_int(effect_top_max, 1);
2765 custom_state(PART:"shadow_top1", "default", 0.0);
2766 set_state_val(PART:"shadow_top1", STATE_REL1_OFFSET, 0, round(fx1));
2767 set_state_val(PART:"shadow_top1", STATE_REL2_OFFSET, -1, round(fx1) - 1);
2768 set_state(PART:"shadow_top1", "custom", 0.0);
2770 custom_state(PART:"shadow_top2", "default", 0.0);
2771 set_state_val(PART:"shadow_top2", STATE_REL1_OFFSET, 0, round(fx2));
2772 set_state_val(PART:"shadow_top2", STATE_REL2_OFFSET, -1, round(fx2) - 1);
2773 set_state(PART:"shadow_top2", "custom", 0.0);
2775 custom_state(PART:"shadow_top3", "default", 0.0);
2776 set_state_val(PART:"shadow_top3", STATE_REL1_OFFSET, 0, round(fx3));
2777 set_state_val(PART:"shadow_top3", STATE_REL2_OFFSET, -1, round(fx3) - 1);
2778 set_state(PART:"shadow_top3", "custom", 0.0);
2779 set_int(top_prev_diff, get_int(top_diff));
2785 program { name: "edge_bottom_mouse_down";
2786 signal: "elm,state,mouse,down";
2789 set_int(effect_bottom_down, 1);
2793 program { name: "edge_bottom_mouse_up";
2794 signal: "elm,state,mouse,up";
2797 set_int(effect_bottom_down, 0);
2798 if (get_int(effect_bottom_start))
2800 set_int(effect_bottom_reset, 0);
2801 if (!get_int(effect_bottom_anim))
2803 if (!get_int(effect_bottom_end))
2805 set_int(effect_bottom_end, 1);
2806 run_program(PROGRAM:"edge_bottom_end");
2812 program { name: "edge_bottom_scroll";
2813 signal: "elm,action,scroll";
2816 if (get_int(effect_bottom_start))
2818 set_state(PART:"shadow_bottom1", "default", 0.0);
2819 set_state(PART:"shadow_bottom2", "default", 0.0);
2820 set_state(PART:"shadow_bottom3", "default", 0.0);
2821 set_int(effect_bottom_reset, 0);
2822 run_program(PROGRAM:"edge_bottom_init");
2826 program { name: "edge_bottom_end";
2827 action: STATE_SET "default" 0.0;
2828 target: "shadow_bottom1";
2829 target: "shadow_bottom2";
2830 target: "shadow_bottom3";
2831 transition: SINUSOIDAL 0.3;
2832 after: "edge_bottom_init";
2834 program { name: "edge_bottom_init";
2836 set_int(effect_bottom_move, 0);
2837 if (!get_int(effect_bottom_reset))
2838 set_int(effect_bottom_start, 0);
2839 set_int(effect_bottom_max, 0);
2840 set_int(bottom_prev_diff, 0);
2841 set_int(effect_bottom_end, 0);
2845 program { name: "edge_bottom";
2846 signal: "elm,edge,bottom";
2849 if (!get_int(effect_bottom_start))
2851 set_int(effect_bottom_start, 1);
2852 set_int(effect_bottom_anim, 1);
2853 run_program(PROGRAM:"edge_bottom_start");
2857 program { name: "edge_bottom_start";
2858 action: STATE_SET "start" 0.0;
2859 target: "shadow_bottom1";
2860 target: "shadow_bottom2";
2861 target: "shadow_bottom3";
2862 transition: SINUSOIDAL 0.2;
2863 after: "edge_bottom_after";
2865 program { name: "edge_bottom_after";
2869 set_int(effect_bottom_anim, 0);
2870 set_int(bottom_down_y, yy);
2872 if (get_int(effect_bottom_down))
2874 set_int(effect_bottom_move, 1);
2879 set_int(effect_bottom_reset, 0);
2880 if (!get_int(effect_bottom_end))
2882 set_int(effect_bottom_end, 1);
2883 run_program(PROGRAM:"edge_bottom_end");
2888 program { name: "edge_bottom_mouse_move";
2889 signal: "elm,state,mouse,move";
2892 if (get_int(effect_bottom_move))
2895 new Float:fx1, Float:fx2, Float:fx3;
2897 set_int(bottom_move_y, yy);
2898 set_int(bottom_diff, (get_int(bottom_down_y) - get_int(bottom_move_y)));
2899 if (get_int(bottom_diff) < get_int(bottom_prev_diff))
2901 set_int(bottom_prev_diff, 0);
2902 set_int(effect_bottom_move, 0);
2903 set_int(effect_bottom_reset, 1);
2904 if (!get_int(effect_bottom_end))
2906 set_int(effect_bottom_end, 1);
2907 run_program(PROGRAM:"edge_bottom_end");
2912 if (!get_int(effect_bottom_end))
2914 if (get_int(bottom_diff) <= 90 && !get_int(effect_bottom_max))
2916 fx1 = fx2 = fx3 = sin(get_int(bottom_diff), DEGREES);
2917 fx1 = fx1 * 16.0 + 26;
2918 fx2 = fx2 * 10.0 + 17;
2919 fx3 = fx3 * 5.0 + 8;
2923 set_int(effect_bottom_max, 1);
2928 custom_state(PART:"shadow_bottom1", "default", 0.0);
2929 set_state_val(PART:"shadow_bottom1", STATE_REL1_OFFSET, 0, round(fx1) * -1);
2930 set_state_val(PART:"shadow_bottom1", STATE_REL2_OFFSET, -1, (round(fx1) - 1) * -1);
2931 set_state(PART:"shadow_bottom1", "custom", 0.0);
2933 custom_state(PART:"shadow_bottom2", "default", 0.0);
2934 set_state_val(PART:"shadow_bottom2", STATE_REL1_OFFSET, 0, round(fx2) * -1);
2935 set_state_val(PART:"shadow_bottom2", STATE_REL2_OFFSET, -1, (round(fx2) - 1) * -1);
2936 set_state(PART:"shadow_bottom2", "custom", 0.0);
2938 custom_state(PART:"shadow_bottom3", "default", 0.0);
2939 set_state_val(PART:"shadow_bottom3", STATE_REL1_OFFSET, 0, round(fx3) * -1);
2940 set_state_val(PART:"shadow_bottom3", STATE_REL2_OFFSET, -1, (round(fx3) - 1) * -1 );
2941 set_state(PART:"shadow_bottom3", "custom", 0.0);
2942 set_int(bottom_prev_diff, get_int(bottom_diff));
2948 program { name: "edge_left_mouse_down";
2949 signal: "elm,state,mouse,down";
2952 set_int(effect_left_down, 1);
2956 program { name: "edge_left_mouse_up";
2957 signal: "elm,state,mouse,up";
2960 set_int(effect_left_down, 0);
2961 if (get_int(effect_left_start))
2963 set_int(effect_left_reset, 0);
2964 if (!get_int(effect_left_anim))
2966 if (!get_int(effect_left_end))
2968 set_int(effect_left_end, 1);
2969 run_program(PROGRAM:"edge_left_end");
2975 program { name: "edge_left_scroll";
2976 signal: "elm,action,scroll";
2979 if (get_int(effect_left_start))
2981 set_state(PART:"shadow_left1", "default", 0.0);
2982 set_state(PART:"shadow_left2", "default", 0.0);
2983 set_state(PART:"shadow_left3", "default", 0.0);
2984 set_int(effect_left_reset, 0);
2985 run_program(PROGRAM:"edge_left_init");
2989 program { name: "edge_left_end";
2990 action: STATE_SET "default" 0.0;
2991 target: "shadow_left1";
2992 target: "shadow_left2";
2993 target: "shadow_left3";
2994 transition: SINUSOIDAL 0.3;
2995 after: "edge_left_init";
2997 program { name: "edge_left_init";
2999 set_int(effect_left_move, 0);
3000 if (!get_int(effect_left_reset))
3001 set_int(effect_left_start, 0);
3002 set_int(effect_left_max, 0);
3003 set_int(left_prev_diff, 0);
3004 set_int(effect_left_end, 0);
3008 program { name: "edge_left";
3009 signal: "elm,edge,left";
3012 if (!get_int(effect_left_start))
3014 set_int(effect_left_start, 1);
3015 set_int(effect_left_anim, 1);
3016 run_program(PROGRAM:"edge_left_start");
3020 program { name: "edge_left_start";
3021 action: STATE_SET "start" 0.0;
3022 target: "shadow_left1";
3023 target: "shadow_left2";
3024 target: "shadow_left3";
3025 transition: SINUSOIDAL 0.2;
3026 after: "edge_left_after";
3028 program { name: "edge_left_after";
3032 set_int(left_down_x, xx);
3033 set_int(effect_left_anim, 0);
3035 if (get_int(effect_left_down))
3037 set_int(effect_left_move, 1);
3042 set_int(effect_left_reset, 0);
3043 if (!get_int(effect_left_end))
3045 set_int(effect_left_end, 1);
3046 run_program(PROGRAM:"edge_left_end");
3051 program { name: "edge_left_mouse_move";
3052 signal: "elm,state,mouse,move";
3055 if (get_int(effect_left_move))
3058 new Float:fx1, Float:fx2, Float:fx3;
3060 set_int(left_move_x, xx);
3061 set_int(left_diff, (get_int(left_move_x) - get_int(left_down_x)));
3062 if (get_int(left_diff) < get_int(left_prev_diff))
3064 set_int(left_prev_diff, 0);
3065 set_int(effect_left_move, 0);
3066 set_int(effect_left_reset, 1);
3067 if (!get_int(effect_left_end))
3069 set_int(effect_left_end, 1);
3070 run_program(PROGRAM:"edge_left_end");
3075 if (!get_int(effect_left_end))
3077 if (get_int(left_diff) <= 90 && !get_int(effect_left_max))
3079 fx1 = fx2 = fx3 = sin(get_int(left_diff), DEGREES);
3080 fx1 = fx1 * 16.0 + 26;
3081 fx2 = fx2 * 10.0 + 17;
3082 fx3 = fx3 * 5.0 + 8;
3086 set_int(effect_left_max, 1);
3091 custom_state(PART:"shadow_left1", "default", 0.0);
3092 set_state_val(PART:"shadow_left1", STATE_REL1_OFFSET, round(fx1), 0);
3093 set_state_val(PART:"shadow_left1", STATE_REL2_OFFSET, round(fx1) - 1, -1);
3094 set_state(PART:"shadow_left1", "custom", 0.0);
3096 custom_state(PART:"shadow_left2", "default", 0.0);
3097 set_state_val(PART:"shadow_left2", STATE_REL1_OFFSET, round(fx2), 0);
3098 set_state_val(PART:"shadow_left2", STATE_REL2_OFFSET, round(fx2) - 1, - 1);
3099 set_state(PART:"shadow_left2", "custom", 0.0);
3101 custom_state(PART:"shadow_left3", "default", 0.0);
3102 set_state_val(PART:"shadow_left3", STATE_REL1_OFFSET, round(fx3), 0);
3103 set_state_val(PART:"shadow_left3", STATE_REL2_OFFSET, round(fx3) - 1, - 1);
3104 set_state(PART:"shadow_left3", "custom", 0.0);
3105 set_int(left_prev_diff, get_int(left_diff));
3111 program { name: "edge_right_mouse_down";
3112 signal: "elm,state,mouse,down";
3115 set_int(effect_right_down, 1);
3119 program { name: "edge_right_mouse_up";
3120 signal: "elm,state,mouse,up";
3123 set_int(effect_right_down, 0);
3124 if (get_int(effect_right_start))
3126 set_int(effect_right_reset, 0);
3127 if (!get_int(effect_right_anim))
3129 if (!get_int(effect_right_end))
3131 set_int(effect_right_end, 1);
3132 run_program(PROGRAM:"edge_right_end");
3138 program { name: "edge_right_scroll";
3139 signal: "elm,action,scroll";
3142 if (get_int(effect_right_start))
3144 set_state(PART:"shadow_right1", "default", 0.0);
3145 set_state(PART:"shadow_right2", "default", 0.0);
3146 set_state(PART:"shadow_right3", "default", 0.0);
3147 set_int(effect_right_reset, 0);
3148 run_program(PROGRAM:"edge_right_init");
3152 program { name: "edge_right_end";
3153 action: STATE_SET "default" 0.0;
3154 target: "shadow_right1";
3155 target: "shadow_right2";
3156 target: "shadow_right3";
3157 transition: SINUSOIDAL 0.3;
3158 after: "edge_right_init";
3160 program { name: "edge_right_init";
3162 set_int(effect_right_move, 0);
3163 if (!get_int(effect_right_reset))
3164 set_int(effect_right_start, 0);
3165 set_int(effect_right_max, 0);
3166 set_int(right_prev_diff, 0);
3167 set_int(effect_right_end, 0);
3171 program { name: "edge_right";
3172 signal: "elm,edge,right";
3175 if (!get_int(effect_right_start))
3177 set_int(effect_right_start, 1);
3178 set_int(effect_right_anim, 1);
3179 run_program(PROGRAM:"edge_right_start");
3183 program { name: "edge_right_start";
3184 action: STATE_SET "start" 0.0;
3185 target: "shadow_right1";
3186 target: "shadow_right2";
3187 target: "shadow_right3";
3188 transition: SINUSOIDAL 0.2;
3189 after: "edge_right_after";
3191 program { name: "edge_right_after";
3195 set_int(right_down_x, xx);
3196 set_int(effect_right_anim, 0);
3198 if (get_int(effect_right_down))
3200 set_int(effect_right_move, 1);
3205 set_int(effect_right_reset, 0);
3206 if (!get_int(effect_right_end))
3208 set_int(effect_right_end, 1);
3209 run_program(PROGRAM:"edge_right_end");
3214 program { name: "edge_right_mouse_move";
3215 signal: "elm,state,mouse,move";
3218 if (get_int(effect_right_move))
3221 new Float:fx1, Float:fx2, Float:fx3;
3223 set_int(right_move_x, xx);
3224 set_int(right_diff, (get_int(right_down_x) - get_int(right_move_x)));
3225 if (get_int(right_diff) < get_int(right_prev_diff))
3227 set_int(right_prev_diff, 0);
3228 set_int(effect_right_move, 0);
3229 set_int(effect_right_reset, 1);
3230 if (!get_int(effect_right_end))
3232 set_int(effect_right_end, 1);
3233 run_program(PROGRAM:"edge_right_end");
3238 if (!get_int(effect_right_end))
3240 if (get_int(right_diff) <= 90 && !get_int(effect_right_max))
3242 fx1 = fx2 = fx3 = sin(get_int(right_diff), DEGREES);
3243 fx1 = fx1 * 10.0 + 32;
3244 fx2 = fx2 * 7.0 + 20;
3245 fx3 = fx3 * 3.0 + 10;
3249 set_int(effect_right_max, 1);
3254 custom_state(PART:"shadow_right1", "default", 0.0);
3255 set_state_val(PART:"shadow_right1", STATE_REL1_OFFSET, round(fx1) * -1, 0);
3256 set_state_val(PART:"shadow_right1", STATE_REL2_OFFSET, (round(fx1) - 1) * -1, -1);
3257 set_state(PART:"shadow_right1", "custom", 0.0);
3259 custom_state(PART:"shadow_right2", "default", 0.0);
3260 set_state_val(PART:"shadow_right2", STATE_REL1_OFFSET, round(fx2) * -1, 0);
3261 set_state_val(PART:"shadow_right2", STATE_REL2_OFFSET, (round(fx2) - 1) * -1, - 1);
3262 set_state(PART:"shadow_right2", "custom", 0.0);
3264 custom_state(PART:"shadow_right3", "default", 0.0);
3265 set_state_val(PART:"shadow_right3", STATE_REL1_OFFSET, round(fx3) * -1, 0);
3266 set_state_val(PART:"shadow_right3", STATE_REL2_OFFSET, (round(fx3) - 1) * -1, - 1);
3267 set_state(PART:"shadow_right3", "custom", 0.0);
3268 set_int(right_prev_diff, get_int(right_diff));
3277 group { name: "elm/scroller/contents/default";
3279 part { name: "elm.swallow.content";
3281 description { state: "default" 0.0;
3284 part { name: "elm.swallow.content_r";
3286 description { state: "default" 0.0;
3291 to: "elm.swallow.content";
3295 to: "elm.swallow.content";
3299 part { name: "elm.swallow.content_b";
3301 description { state: "default" 0.0;
3306 to: "elm.swallow.content";
3310 to: "elm.swallow.content";
3314 part { name: "elm.swallow.content_rb";
3316 description { state: "default" 0.0;
3321 to: "elm.swallow.content";
3325 to: "elm.swallow.content";
3332 group { name: "elm/gengrid/base/popup";
3333 inherit: "elm/scroller/base/list_effect";
3336 part { name: "elm.swallow.content.LT_padding";
3339 description { state: "default" 0.0;
3342 min: 0 GENGRID_POPUP_CONTENT_TOP_PADDING;
3343 max: -1 GENGRID_POPUP_CONTENT_TOP_PADDING;
3347 part { name: "elm.swallow.content.RB_padding";
3350 description { state: "default" 0.0;
3353 min: 0 GENGRID_POPUP_CONTENT_BOTTOM_PADDING;
3354 max: -1 GENGRID_POPUP_CONTENT_BOTTOM_PADDING;
3358 part { name: "elm.swallow.content";
3359 description { state: "default" 0.0;
3360 rel1.to: "elm.swallow.content.LT_padding";
3362 rel2.to: "elm.swallow.content.RB_padding";