summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHosang Kim <hosang12.kim@samsung.com>2016-12-23 08:08:35 (GMT)
committerWonki Kim <wonki_.kim@samsung.com>2017-04-11 09:48:16 (GMT)
commit569312353270c8e8df8a6ae2b76dc160973a6cc2 (patch)
tree09fb0b7fe1df66e0a19dee21d4ffba0d8578bb83
parentda6257ef7176e428c9b4a2b5a06508c87fab35da (diff)
downloadefl-theme-tizen-mobile-569312353270c8e8df8a6ae2b76dc160973a6cc2.zip
efl-theme-tizen-mobile-569312353270c8e8df8a6ae2b76dc160973a6cc2.tar.gz
efl-theme-tizen-mobile-569312353270c8e8df8a6ae2b76dc160973a6cc2.tar.bz2
scroller: make over-scroll effect workingrefs/changes/55/124455/1
over-scroller effect didn't work properly on multi-scale envir this patch modify over-scroller implementation to use min size rather than offset. Change-Id: I6f7c7e5fa1e2283c58ac0e718b577e1409f536ed
-rw-r--r--mobile/widgets/scroller.edc2793
1 files changed, 498 insertions, 2295 deletions
diff --git a/mobile/widgets/scroller.edc b/mobile/widgets/scroller.edc
index 27f68bf..becb4d1 100644
--- a/mobile/widgets/scroller.edc
+++ b/mobile/widgets/scroller.edc
@@ -1439,417 +1439,422 @@ group { "elm/scroller/base/effect";
alias: "elm/gengrid/base/default";
alias: "elm/scroller/base/popup/no_inset_shadow";
inherit: "elm/scroller/base/default";
+
+// Macro
+#define SCROLL_EDGE_MOUSE_DOWN_PROGRAM(_dir) \
+ program { "edge_"#_dir"_mouse_down"; \
+ signal: "elm,state,mouse,down"; \
+ source: "elm"; \
+ script { \
+ set_int(effect_##_dir##_down, 1); \
+ } \
+ }
+
+#define SCROLL_EDGE_MOUSE_UP_PROGRAM(_dir) \
+ program { "edge_"#_dir"_mouse_up"; \
+ signal: "elm,state,mouse,up"; \
+ source: "elm"; \
+ script { \
+ set_int(effect_##_dir##_down, 0); \
+ if (get_int(effect_##_dir##_start)) \
+ { \
+ set_int(effect_##_dir##_reset, 0); \
+ if (!get_int(effect_##_dir##_anim)) \
+ { \
+ if (!get_int(effect_##_dir##_end)) \
+ { \
+ set_int(effect_##_dir##_end, 1); \
+ run_program(PROGRAM:"edge_"#_dir"_end"); \
+ } \
+ } \
+ } \
+ } \
+ }
+
+#define SCROLL_EDGE_SCROLL_PROGRAM(_dir) \
+ program { "edge_"#_dir"_scroll"; \
+ signal: "elm,action,scroll"; \
+ source: "elm"; \
+ script { \
+ if (get_int(effect_##_dir##_start)) \
+ { \
+ set_state(PART:"shadow_"#_dir"1", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"1", "default", 0.0); \
+ set_state(PART:"shadow_"#_dir"2", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"2", "default", 0.0); \
+ set_state(PART:"shadow_"#_dir"3", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"3", "default", 0.0); \
+ set_state(PART:"shadow_"#_dir"4", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"4", "default", 0.0); \
+ set_state(PART:"shadow_"#_dir"5", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"5", "default", 0.0); \
+ set_int(effect_##_dir##_reset, 0); \
+ run_program(PROGRAM:"edge_"#_dir"_init"); \
+ } \
+ } \
+ }
+
+#define SCROLL_EDGE_END_PROGRAM(_dir) \
+ program { "edge_"#_dir"_end"; \
+ action: STATE_SET "default"; \
+ target: "shadow_"#_dir"1"; \
+ target: "shadow_"#_dir"2"; \
+ target: "shadow_"#_dir"3"; \
+ target: "shadow_"#_dir"4"; \
+ target: "shadow_"#_dir"5"; \
+ transition: SINUSOIDAL 0.3; \
+ after: "edge_"#_dir"_init"; \
+ }
+
+#define SCROLL_EDGE_INIT_PROGRAM(_dir) \
+ program { "edge_"#_dir"_init"; \
+ script { \
+ set_int(effect_##_dir##_move, 0); \
+ if (!get_int(effect_##_dir##_reset)) \
+ set_int(effect_##_dir##_start, 0); \
+ set_int(effect_##_dir##_max, 0); \
+ set_int(_dir##_prev_diff, 0); \
+ set_int(effect_##_dir##_end, 0); \
+ set_state(PART:"spacer_"#_dir"1", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"2", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"3", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"4", "default", 0.0); \
+ set_state(PART:"spacer_"#_dir"5", "default", 0.0); \
+ } \
+ }
+#define SCROLL_EDGE_PROGRAM(_dir) \
+ program { "edge_"#_dir; \
+ signal: "elm,edge,"#_dir; \
+ source: "elm"; \
+ script { \
+ if (!get_int(effect_##_dir##_start)) \
+ { \
+ set_int(effect_##_dir##_start, 1); \
+ set_int(effect_##_dir##_anim, 1); \
+ run_program(PROGRAM:"edge_"#_dir"_start"); \
+ } \
+ } \
+ }
+
+#define SCROLL_EDGE_START_PROGRAM(_dir) \
+ program { "edge_"#_dir"_start"; \
+ action: STATE_SET "start"; \
+ target: "shadow_"#_dir"1"; \
+ target: "shadow_"#_dir"2"; \
+ target: "shadow_"#_dir"3"; \
+ target: "shadow_"#_dir"4"; \
+ target: "shadow_"#_dir"5"; \
+ transition: SINUSOIDAL 0.2; \
+ after: "edge_"#_dir"_after"; \
+ }
+
+#define SCROLL_EDGE_AFTER_PROGRAM(_dir) \
+ program { "edge_"#_dir"_after"; \
+ script { \
+ new xx, yy; \
+ get_mouse(xx, yy); \
+ set_int(_dir##_down_x, xx); \
+ set_int(_dir##_down_y, yy); \
+ set_int(effect_##_dir##_anim, 0); \
+ if (get_int(effect_##_dir##_down)) \
+ { \
+ set_int(effect_##_dir##_move, 1); \
+ } \
+ else \
+ { \
+ set_int(effect_##_dir##_reset, 0); \
+ if (!get_int(effect_##_dir##_end)) \
+ { \
+ set_int(effect_##_dir##_end, 1); \
+ run_program(PROGRAM:"edge_"#_dir"_end"); \
+ } \
+ } \
+ } \
+ }
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_DIFF_VERNOR(_dir) \
+ set_int(_dir##_diff, (get_int(_dir##_move_y) - get_int(_dir##_down_y)));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_DIFF_VERREV(_dir) \
+ set_int(_dir##_diff, (get_int(_dir##_down_y) - get_int(_dir##_move_y)));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_DIFF_HORNOR(_dir) \
+ set_int(_dir##_diff, (get_int(_dir##_move_x) - get_int(_dir##_down_x)));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_DIFF_HORREV(_dir) \
+ set_int(_dir##_diff, (get_int(_dir##_down_x) - get_int(_dir##_move_x)));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_STATE_VER(_dir) \
+ custom_state(PART:"spacer_"#_dir"1", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"1", STATE_MIN, 0, round(fx1)); \
+ set_state_val(PART:"spacer_"#_dir"1", STATE_MAX, -1, round(fx1)); \
+ set_state(PART:"spacer_"#_dir"1", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"2", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"2", STATE_MIN, 0, round(fx2)); \
+ set_state_val(PART:"spacer_"#_dir"2", STATE_MAX, -1, round(fx2)); \
+ set_state(PART:"spacer_"#_dir"2", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"3", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"3", STATE_MIN, 0, round(fx3)); \
+ set_state_val(PART:"spacer_"#_dir"3", STATE_MAX, -1, round(fx3)); \
+ set_state(PART:"spacer_"#_dir"3", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"4", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"4", STATE_MIN, 0, round(fx4)); \
+ set_state_val(PART:"spacer_"#_dir"4", STATE_MAX, -1, round(fx4)); \
+ set_state(PART:"spacer_"#_dir"4", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"5", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"5", STATE_MIN, 0, round(fx5)); \
+ set_state_val(PART:"spacer_"#_dir"5", STATE_MAX, -1, round(fx5)); \
+ set_state(PART:"spacer_"#_dir"5", "custom", 0.0); \
+ set_int(_dir##_prev_diff, get_int(_dir##_diff));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM_STATE_HOR(_dir) \
+ custom_state(PART:"spacer_"#_dir"1", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"1", STATE_MIN, round(fx1), 0); \
+ set_state_val(PART:"spacer_"#_dir"1", STATE_MAX, round(fx1), -1); \
+ set_state(PART:"spacer_"#_dir"1", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"2", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"2", STATE_MIN, round(fx2), 0); \
+ set_state_val(PART:"spacer_"#_dir"2", STATE_MAX, round(fx2), -1); \
+ set_state(PART:"spacer_"#_dir"2", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"3", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"3", STATE_MIN, round(fx3), 0); \
+ set_state_val(PART:"spacer_"#_dir"3", STATE_MAX, round(fx3), -1); \
+ set_state(PART:"spacer_"#_dir"3", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"4", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"4", STATE_MIN, round(fx4), 0); \
+ set_state_val(PART:"spacer_"#_dir"4", STATE_MAX, round(fx4), -1); \
+ set_state(PART:"spacer_"#_dir"4", "custom", 0.0); \
+ custom_state(PART:"spacer_"#_dir"5", "default", 0.0); \
+ set_state_val(PART:"spacer_"#_dir"5", STATE_MIN, round(fx5), 0); \
+ set_state_val(PART:"spacer_"#_dir"5", STATE_MAX, round(fx5), -1); \
+ set_state(PART:"spacer_"#_dir"5", "custom", 0.0); \
+ set_int(_dir##_prev_diff, get_int(_dir##_diff));
+
+#define SCROLL_EDGE_MOUSE_MOVE_PROGRAM(_dir, _hor, _rev) \
+ program { "edge_"#_dir"_mouse_move"; \
+ signal: "elm,state,mouse,move"; \
+ source: "elm"; \
+ script { \
+ if (get_int(effect_##_dir##_move)) \
+ { \
+ new xx, yy; \
+ new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5; \
+ get_mouse(xx, yy); \
+ set_int(_dir##_move_x, xx); \
+ set_int(_dir##_move_y, yy); \
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM_DIFF_##_hor##_rev(_dir) \
+ if (get_int(_dir##_diff) < get_int(_dir##_prev_diff)) \
+ { \
+ set_int(_dir##_prev_diff, 0); \
+ set_int(effect_##_dir##_move, 0); \
+ set_int(effect_##_dir##_reset, 1); \
+ if (!get_int(effect_##_dir##_end)) \
+ { \
+ set_int(effect_##_dir##_end, 1); \
+ run_program(PROGRAM:"edge_"#_dir"_end"); \
+ } \
+ } \
+ else \
+ { \
+ if (!get_int(effect_##_dir##_end)) \
+ { \
+ if (get_int(_dir##_diff) <= 90 && !get_int(effect_##_dir##_max)) \
+ { \
+ fx1 = fx2 = fx3 = fx4 = fx5 = sin(get_int(_dir##_diff), DEGREES); \
+ fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE; \
+ fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE; \
+ fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE; \
+ fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE; \
+ fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE; \
+ } \
+ else \
+ { \
+ set_int(effect_##_dir##_max, 1); \
+ fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE; \
+ fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE; \
+ fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE; \
+ fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE; \
+ fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE; \
+ } \
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM_STATE_##_hor(_dir) \
+ } \
+ } \
+ } \
+ } \
+ }
+
+#define SHADOW_PART_SPACER_top(_dir, _num, _NUM) \
+ spacer { "spacer_top"#_num; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 0.0; \
+ rel2.to: "bg"; \
+ align: 0.5 0.0; \
+ min: 0 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE; \
+ max: -1 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE; \
+ } \
+ }
+
+#define SHADOW_PART_SPACER_bottom(_dir, _num, _NUM) \
+ spacer { "spacer_bottom"#_num; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 1.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "bg"; \
+ align: 0.5 1.0; \
+ min: 0 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE; \
+ max: -1 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE; \
+ } \
+ }
+
+#define SHADOW_PART_SPACER_left(_dir, _num, _NUM) \
+ spacer { "spacer_left"#_num; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 0.0 1.0; \
+ rel2.to: "bg"; \
+ align: 0.0 0.5; \
+ min: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE 0; \
+ max: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE -1; \
+ } \
+ }
+#define SHADOW_PART_SPACER_right(_dir, _num, _NUM) \
+ spacer { "spacer_right"#_num; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 1.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "bg"; \
+ align: 1.0 0.5; \
+ min: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE 0; \
+ max: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MIN_SIZE -1; \
+ } \
+ }
+#define SHADOW_PART_RECT_top(_dir, _num, _NUM) \
+ rect { "shadow_top"#_num; \
+ clip: "clipper"; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 0.0; \
+ rel2.to: "bg"; \
+ align: 0.5 1.0; \
+ min: 0 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE; \
+ max: -1 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE; \
+ color_class: "scroller/default/end_effect"; \
+ fixed: 0 1; \
+ } \
+ desc { "start"; \
+ inherit: "default"; \
+ rel1.relative: 0.0 1.0; \
+ rel1.to: "spacer_top"#_num; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "spacer_top"#_num; \
+ align: 0.5 1.0; \
+ } \
+ }
+#define SHADOW_PART_RECT_bottom(_dir, _num, _NUM) \
+ rect { "shadow_bottom"#_num; \
+ clip: "clipper"; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 1.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "bg"; \
+ align: 0.5 0.0; \
+ min: 0 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE; \
+ max: -1 SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE; \
+ color_class: "scroller/default/end_effect"; \
+ fixed: 0 1; \
+ } \
+ desc { "start"; \
+ inherit: "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "spacer_bottom"#_num; \
+ rel2.relative: 1.0 0.0; \
+ rel2.to: "spacer_bottom"#_num; \
+ align: 0.5 0.0; \
+ } \
+ }
+
+#define SHADOW_PART_RECT_left(_dir, _num, _NUM) \
+ rect { "shadow_left"#_num; \
+ clip: "clipper"; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 0.0 1.0; \
+ rel2.to: "bg"; \
+ rel2.offset: -1 -1; \
+ align: 1.0 0.5; \
+ min: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE 0; \
+ max: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE -1; \
+ color_class: "scroller/default/end_effect"; \
+ fixed: 1 0; \
+ } \
+ desc { "start"; \
+ inherit: "default"; \
+ rel1.relative: 1.0 0.0; \
+ rel1.to: "spacer_left"#_num; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "spacer_left"#_num; \
+ align: 1.0 0.5; \
+ } \
+ }
+
+#define SHADOW_PART_RECT_right(_dir, _num, _NUM) \
+ rect { "shadow_right"#_num; \
+ clip: "clipper"; \
+ scale; \
+ desc { "default"; \
+ rel1.relative: 1.0 0.0; \
+ rel1.to: "bg"; \
+ rel2.relative: 1.0 1.0; \
+ rel2.to: "bg"; \
+ rel2.offset: -1 -1; \
+ align: 0.0 0.5; \
+ min: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE 0; \
+ max: SCROLLER_EFFECT_SHADOW_##_NUM##_LAYER_MAX_SIZE -1; \
+ color_class: "scroller/default/end_effect"; \
+ fixed: 1 0; \
+ } \
+ desc { "start"; \
+ inherit: "default"; \
+ rel1.relative: 0.0 0.0; \
+ rel1.to: "spacer_right"#_num; \
+ rel2.relative: 0.0 1.0; \
+ rel2.to: "spacer_right"#_num; \
+ align: 0.0 0.5; \
+ } \
+ }
+
+#define SHADOW_PART_LAYER(_dir, _num, _NUM) \
+ SHADOW_PART_SPACER_##_dir(_dir, _num, _NUM) \
+ SHADOW_PART_RECT_##_dir(_dir, _num, _NUM)
+
+#define SHADOW_PART(_dir) \
+ SHADOW_PART_LAYER(_dir, 1, FIRST) \
+ SHADOW_PART_LAYER(_dir, 2, SECOND) \
+ SHADOW_PART_LAYER(_dir, 3, THIRD) \
+ SHADOW_PART_LAYER(_dir, 4, FOURTH) \
+ SHADOW_PART_LAYER(_dir, 5, FIFTH)
+// Macro END
+
parts {
- rect { "shadow_top1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_bottom1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- color_class: "scroller/default/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_left1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_right1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/default/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE+1 -1;
- }
- }
+ SHADOW_PART(top)
+ SHADOW_PART(bottom)
+ SHADOW_PART(left)
+ SHADOW_PART(right)
}
programs {
program { "on_loaded";
@@ -1886,1161 +1891,56 @@ group { "elm/scroller/base/effect";
set_int(sbvis_timer, v);
}
}
- program { "edge_top_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_top_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_top_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_top_down, 0);
- if (get_int(effect_top_start))
- {
- set_int(effect_top_reset, 0);
- if (!get_int(effect_top_anim))
- {
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- }
- }
- }
- program { "edge_top_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_top_start))
- {
- set_state(PART:"shadow_top1", "default", 0.0);
- set_state(PART:"shadow_top2", "default", 0.0);
- set_state(PART:"shadow_top3", "default", 0.0);
- set_state(PART:"shadow_top4", "default", 0.0);
- set_state(PART:"shadow_top5", "default", 0.0);
- set_int(effect_top_reset, 0);
- run_program(PROGRAM:"edge_top_init");
- }
- }
- }
- program { "edge_top_end";
- action: STATE_SET "default";
- target: "shadow_top1";
- target: "shadow_top2";
- target: "shadow_top3";
- target: "shadow_top4";
- target: "shadow_top5";
- transition: SINUSOIDAL 0.3;
- after: "edge_top_init";
- }
- program { "edge_top_init";
- script {
- set_int(effect_top_move, 0);
- if (!get_int(effect_top_reset))
- set_int(effect_top_start, 0);
- set_int(effect_top_max, 0);
- set_int(top_prev_diff, 0);
- set_int(effect_top_end, 0);
- }
- }
- // Effect Show //
- program { "edge_top";
- signal: "elm,edge,top";
- source: "elm";
- script {
- if (!get_int(effect_top_start))
- {
- set_int(effect_top_start, 1);
- set_int(effect_top_anim, 1);
- run_program(PROGRAM:"edge_top_start");
- }
- }
- }
- program { "edge_top_start";
- action: STATE_SET "start";
- target: "shadow_top1";
- target: "shadow_top2";
- target: "shadow_top3";
- target: "shadow_top4";
- target: "shadow_top5";
- transition: SINUSOIDAL 0.2;
- after: "edge_top_after";
- }
- program { "edge_top_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(top_down_y, yy);
- set_int(effect_top_anim, 0);
- // mouse down //
- if (get_int(effect_top_down))
- {
- set_int(effect_top_move, 1);
- }
- // mouse up /
- else
- {
- set_int(effect_top_reset, 0);
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- }
- }
- program { "edge_top_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_top_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(top_move_y, yy);
- set_int(top_diff, (get_int(top_move_y) - get_int(top_down_y)));
- if (get_int(top_diff) < get_int(top_prev_diff))
- {
- set_int(top_prev_diff, 0);
- set_int(effect_top_move, 0);
- set_int(effect_top_reset, 1);
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- else
- {
- if (!get_int(effect_top_end))
- {
- if (get_int(top_diff) <= 90 && !get_int(effect_top_max))
- {
- fx1 = fx2 = fx3 = fx4 = fx5 = sin(get_int(top_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_top_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_top1", "default", 0.0);
- set_state_val(PART:"shadow_top1", STATE_REL1_OFFSET, 0, round(fx1));
- set_state_val(PART:"shadow_top1", STATE_REL2_OFFSET, -1, round(fx1) - 2);
- set_state(PART:"shadow_top1", "custom", 0.0);
-
- custom_state(PART:"shadow_top2", "default", 0.0);
- set_state_val(PART:"shadow_top2", STATE_REL1_OFFSET, 0, round(fx2));
- set_state_val(PART:"shadow_top2", STATE_REL2_OFFSET, -1, round(fx2) - 2);
- set_state(PART:"shadow_top2", "custom", 0.0);
-
- custom_state(PART:"shadow_top3", "default", 0.0);
- set_state_val(PART:"shadow_top3", STATE_REL1_OFFSET, 0, round(fx3));
- set_state_val(PART:"shadow_top3", STATE_REL2_OFFSET, -1, round(fx3) - 2);
- set_state(PART:"shadow_top3", "custom", 0.0);
-
- custom_state(PART:"shadow_top4", "default", 0.0);
- set_state_val(PART:"shadow_top4", STATE_REL1_OFFSET, 0, round(fx4));
- set_state_val(PART:"shadow_top4", STATE_REL2_OFFSET, -1, round(fx4) - 2);
- set_state(PART:"shadow_top4", "custom", 0.0);
-
- custom_state(PART:"shadow_top5", "default", 0.0);
- set_state_val(PART:"shadow_top5", STATE_REL1_OFFSET, 0, round(fx5));
- set_state_val(PART:"shadow_top5", STATE_REL2_OFFSET, -1, round(fx5) - 2);
- set_state(PART:"shadow_top5", "custom", 0.0);
-
- set_int(top_prev_diff, get_int(top_diff));
- }
- }
- }
- }
- }
- program { "edge_bottom_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_bottom_down, 1);
- }
- }
- // Effect Hide /
- program { "edge_bottom_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_bottom_down, 0);
- if (get_int(effect_bottom_start))
- {
- set_int(effect_bottom_reset, 0);
- if (!get_int(effect_bottom_anim))
- {
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- }
- }
- }
- program { "edge_bottom_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_bottom_start))
- {
- set_state(PART:"shadow_bottom1", "default", 0.0);
- set_state(PART:"shadow_bottom2", "default", 0.0);
- set_state(PART:"shadow_bottom3", "default", 0.0);
- set_state(PART:"shadow_bottom4", "default", 0.0);
- set_state(PART:"shadow_bottom5", "default", 0.0);
- set_int(effect_bottom_reset, 0);
- run_program(PROGRAM:"edge_bottom_init");
- }
- }
- }
- program { "edge_bottom_end";
- action: STATE_SET "default";
- target: "shadow_bottom1";
- target: "shadow_bottom2";
- target: "shadow_bottom3";
- target: "shadow_bottom4";
- target: "shadow_bottom5";
- transition: SINUSOIDAL 0.3;
- after: "edge_bottom_init";
- }
- program { "edge_bottom_init";
- script {
- set_int(effect_bottom_move, 0);
- if (!get_int(effect_bottom_reset))
- set_int(effect_bottom_start, 0);
- set_int(effect_bottom_max, 0);
- set_int(bottom_prev_diff, 0);
- set_int(effect_bottom_end, 0);
- }
- }
- // Effect Show //
- program { "edge_bottom";
- signal: "elm,edge,bottom";
- source: "elm";
- script {
- if (!get_int(effect_bottom_start))
- {
- set_int(effect_bottom_start, 1);
- set_int(effect_bottom_anim, 1);
- run_program(PROGRAM:"edge_bottom_start");
- }
- }
- }
- program { "edge_bottom_start";
- action: STATE_SET "start";
- target: "shadow_bottom1";
- target: "shadow_bottom2";
- target: "shadow_bottom3";
- target: "shadow_bottom4";
- target: "shadow_bottom5";
- transition: SINUSOIDAL 0.2;
- after: "edge_bottom_after";
- }
- program { "edge_bottom_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(effect_bottom_anim, 0);
- set_int(bottom_down_y, yy);
- // mouse down //
- if (get_int(effect_bottom_down))
- {
- set_int(effect_bottom_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_bottom_reset, 0);
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- }
- }
- program { "edge_bottom_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_bottom_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(bottom_move_y, yy);
- set_int(bottom_diff, (get_int(bottom_down_y) - get_int(bottom_move_y)));
- if (get_int(bottom_diff) < get_int(bottom_prev_diff))
- {
- set_int(bottom_prev_diff, 0);
- set_int(effect_bottom_move, 0);
- set_int(effect_bottom_reset, 1);
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- else
- {
- if (!get_int(effect_bottom_end))
- {
- if (get_int(bottom_diff) <= 90 && !get_int(effect_bottom_max))
- {
- fx1 = fx2 = fx3 = fx4 = fx5 = sin(get_int(bottom_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_bottom_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_bottom1", "default", 0.0);
- set_state_val(PART:"shadow_bottom1", STATE_REL1_OFFSET, 0, round(fx1) * -1 + 1);
- set_state_val(PART:"shadow_bottom1", STATE_REL2_OFFSET, -1, (round(fx1) - 1) * -1);
- set_state(PART:"shadow_bottom1", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom2", "default", 0.0);
- set_state_val(PART:"shadow_bottom2", STATE_REL1_OFFSET, 0, round(fx2) * -1 + 1);
- set_state_val(PART:"shadow_bottom2", STATE_REL2_OFFSET, -1, (round(fx2) - 1) * -1);
- set_state(PART:"shadow_bottom2", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom3", "default", 0.0);
- set_state_val(PART:"shadow_bottom3", STATE_REL1_OFFSET, 0, round(fx3) * -1 + 1);
- set_state_val(PART:"shadow_bottom3", STATE_REL2_OFFSET, -1, (round(fx3) - 1) * -1 );
- set_state(PART:"shadow_bottom3", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom4", "default", 0.0);
- set_state_val(PART:"shadow_bottom4", STATE_REL1_OFFSET, 0, round(fx4) * -1 + 1);
- set_state_val(PART:"shadow_bottom4", STATE_REL2_OFFSET, -1, (round(fx4) - 1) * -1 );
- set_state(PART:"shadow_bottom4", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom5", "default", 0.0);
- set_state_val(PART:"shadow_bottom5", STATE_REL1_OFFSET, 0, round(fx5) * -1 + 1);
- set_state_val(PART:"shadow_bottom5", STATE_REL2_OFFSET, -1, (round(fx5) - 1) * -1 );
- set_state(PART:"shadow_bottom5", "custom", 0.0);
-
- set_int(bottom_prev_diff, get_int(bottom_diff));
- }
- }
- }
- }
- }
- program { "edge_left_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_left_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_left_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_left_down, 0);
- if (get_int(effect_left_start))
- {
- set_int(effect_left_reset, 0);
- if (!get_int(effect_left_anim))
- {
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- }
- }
- }
- program { "edge_left_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_left_start))
- {
- set_state(PART:"shadow_left1", "default", 0.0);
- set_state(PART:"shadow_left2", "default", 0.0);
- set_state(PART:"shadow_left3", "default", 0.0);
- set_state(PART:"shadow_left4", "default", 0.0);
- set_state(PART:"shadow_left5", "default", 0.0);
- set_int(effect_left_reset, 0);
- run_program(PROGRAM:"edge_left_init");
- }
- }
- }
- program { "edge_left_end";
- action: STATE_SET "default";
- target: "shadow_left1";
- target: "shadow_left2";
- target: "shadow_left3";
- target: "shadow_left4";
- target: "shadow_left5";
- transition: SINUSOIDAL 0.3;
- after: "edge_left_init";
- }
- program { "edge_left_init";
- script {
- set_int(effect_left_move, 0);
- if (!get_int(effect_left_reset))
- set_int(effect_left_start, 0);
- set_int(effect_left_max, 0);
- set_int(left_prev_diff, 0);
- set_int(effect_left_end, 0);
- }
- }
- // Effect Show //
- program { "edge_left";
- signal: "elm,edge,left";
- source: "elm";
- script {
- if (!get_int(effect_left_start))
- {
- set_int(effect_left_start, 1);
- set_int(effect_left_anim, 1);
- run_program(PROGRAM:"edge_left_start");
- }
- }
- }
- program { "edge_left_start";
- action: STATE_SET "start";
- target: "shadow_left1";
- target: "shadow_left3";
- target: "shadow_left3";
- target: "shadow_left4";
- target: "shadow_left5";
- transition: SINUSOIDAL 0.2;
- after: "edge_left_after";
- }
- program { "edge_left_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(left_down_x, xx);
- set_int(effect_left_anim, 0);
- // mouse down //
- if (get_int(effect_left_down))
- {
- set_int(effect_left_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_left_reset, 0);
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- }
- }
- program { "edge_left_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_left_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(left_move_x, xx);
- set_int(left_diff, (get_int(left_move_x) - get_int(left_down_x)));
- if (get_int(left_diff) < get_int(left_prev_diff))
- {
- set_int(left_prev_diff, 0);
- set_int(effect_left_move, 0);
- set_int(effect_left_reset, 1);
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- else
- {
- if (!get_int(effect_left_end))
- {
- if (get_int(left_diff) <= 90 && !get_int(effect_left_max))
- {
- fx1 = fx2 = fx3 = sin(get_int(left_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_left_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_left1", "default", 0.0);
- set_state_val(PART:"shadow_left1", STATE_REL1_OFFSET, round(fx1), 0);
- set_state_val(PART:"shadow_left1", STATE_REL2_OFFSET, round(fx1) - 1, -1);
- set_state(PART:"shadow_left1", "custom", 0.0);
-
- custom_state(PART:"shadow_left2", "default", 0.0);
- set_state_val(PART:"shadow_left2", STATE_REL1_OFFSET, round(fx2), 0);
- set_state_val(PART:"shadow_left2", STATE_REL2_OFFSET, round(fx2) - 1, - 1);
- set_state(PART:"shadow_left2", "custom", 0.0);
-
- custom_state(PART:"shadow_left3", "default", 0.0);
- set_state_val(PART:"shadow_left3", STATE_REL1_OFFSET, round(fx3), 0);
- set_state_val(PART:"shadow_left3", STATE_REL2_OFFSET, round(fx3) - 1, - 1);
- set_state(PART:"shadow_left3", "custom", 0.0);
-
- custom_state(PART:"shadow_left4", "default", 0.0);
- set_state_val(PART:"shadow_left4", STATE_REL1_OFFSET, round(fx4), 0);
- set_state_val(PART:"shadow_left4", STATE_REL2_OFFSET, round(fx4) - 1, - 1);
- set_state(PART:"shadow_left4", "custom", 0.0);
-
- custom_state(PART:"shadow_left5", "default", 0.0);
- set_state_val(PART:"shadow_left5", STATE_REL1_OFFSET, round(fx5), 0);
- set_state_val(PART:"shadow_left5", STATE_REL2_OFFSET, round(fx5) - 1, - 1);
- set_state(PART:"shadow_left5", "custom", 0.0);
-
- set_int(left_prev_diff, get_int(left_diff));
- }
- }
- }
- }
- }
- program { "edge_right_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_right_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_right_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_right_down, 0);
- if (get_int(effect_right_start))
- {
- set_int(effect_right_reset, 0);
- if (!get_int(effect_right_anim))
- {
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- }
- }
- }
- program { "edge_right_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_right_start))
- {
- set_state(PART:"shadow_right1", "default", 0.0);
- set_state(PART:"shadow_right2", "default", 0.0);
- set_state(PART:"shadow_right3", "default", 0.0);
- set_state(PART:"shadow_right4", "default", 0.0);
- set_state(PART:"shadow_right5", "default", 0.0);
- set_int(effect_right_reset, 0);
- run_program(PROGRAM:"edge_right_init");
- }
- }
- }
- program { "edge_right_end";
- action: STATE_SET "default";
- target: "shadow_right1";
- target: "shadow_right2";
- target: "shadow_right3";
- target: "shadow_right4";
- target: "shadow_right5";
- transition: SINUSOIDAL 0.3;
- after: "edge_right_init";
- }
- program { "edge_right_init";
- script {
- set_int(effect_right_move, 0);
- if (!get_int(effect_right_reset))
- set_int(effect_right_start, 0);
- set_int(effect_right_max, 0);
- set_int(right_prev_diff, 0);
- set_int(effect_right_end, 0);
- }
- }
- // Effect Show //
- program { "edge_right";
- signal: "elm,edge,right";
- source: "elm";
- script {
- if (!get_int(effect_right_start))
- {
- set_int(effect_right_start, 1);
- set_int(effect_right_anim, 1);
- run_program(PROGRAM:"edge_right_start");
- }
- }
- }
- program { "edge_right_start";
- action: STATE_SET "start";
- target: "shadow_right1";
- target: "shadow_right2";
- target: "shadow_right3";
- target: "shadow_right4";
- target: "shadow_right5";
- transition: SINUSOIDAL 0.2;
- after: "edge_right_after";
- }
- program { "edge_right_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(right_down_x, xx);
- set_int(effect_right_anim, 0);
- // mouse down //
- if (get_int(effect_right_down))
- {
- set_int(effect_right_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_right_reset, 0);
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- }
- }
- program { "edge_right_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_right_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(right_move_x, xx);
- set_int(right_diff, (get_int(right_down_x) - get_int(right_move_x)));
- if (get_int(right_diff) < get_int(right_prev_diff))
- {
- set_int(right_prev_diff, 0);
- set_int(effect_right_move, 0);
- set_int(effect_right_reset, 1);
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- else
- {
- if (!get_int(effect_right_end))
- {
- if (get_int(right_diff) <= 90 && !get_int(effect_right_max))
- {
- fx1 = fx2 = fx3 = sin(get_int(right_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_right_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_right1", "default", 0.0);
- set_state_val(PART:"shadow_right1", STATE_REL1_OFFSET, round(fx1) * -1, 0);
- set_state_val(PART:"shadow_right1", STATE_REL2_OFFSET, (round(fx1) - 1) * -1, -1);
- set_state(PART:"shadow_right1", "custom", 0.0);
-
- custom_state(PART:"shadow_right2", "default", 0.0);
- set_state_val(PART:"shadow_right2", STATE_REL1_OFFSET, round(fx2) * -1, 0);
- set_state_val(PART:"shadow_right2", STATE_REL2_OFFSET, (round(fx2) - 1) * -1, - 1);
- set_state(PART:"shadow_right2", "custom", 0.0);
-
- custom_state(PART:"shadow_right3", "default", 0.0);
- set_state_val(PART:"shadow_right3", STATE_REL1_OFFSET, round(fx3) * -1, 0);
- set_state_val(PART:"shadow_right3", STATE_REL2_OFFSET, (round(fx3) - 1) * -1, - 1);
- set_state(PART:"shadow_right3", "custom", 0.0);
-
- custom_state(PART:"shadow_right4", "default", 0.0);
- set_state_val(PART:"shadow_right4", STATE_REL1_OFFSET, round(fx4) * -1, 0);
- set_state_val(PART:"shadow_right4", STATE_REL2_OFFSET, (round(fx4) - 1) * -1, - 1);
- set_state(PART:"shadow_right4", "custom", 0.0);
-
- custom_state(PART:"shadow_right5", "default", 0.0);
- set_state_val(PART:"shadow_right5", STATE_REL1_OFFSET, round(fx5) * -1, 0);
- set_state_val(PART:"shadow_right5", STATE_REL2_OFFSET, (round(fx5) - 1) * -1, - 1);
- set_state(PART:"shadow_right5", "custom", 0.0);
-
- set_int(right_prev_diff, get_int(right_diff));
- }
- }
- }
- }
- }
- }
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(top)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(top)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(top, VER, NOR)
+ SCROLL_EDGE_INIT_PROGRAM(top)
+ SCROLL_EDGE_SCROLL_PROGRAM(top)
+ SCROLL_EDGE_END_PROGRAM(top)
+ SCROLL_EDGE_START_PROGRAM(top)
+ SCROLL_EDGE_AFTER_PROGRAM(top)
+ SCROLL_EDGE_PROGRAM(top)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(bottom)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(bottom)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(bottom, VER, REV)
+ SCROLL_EDGE_INIT_PROGRAM(bottom)
+ SCROLL_EDGE_SCROLL_PROGRAM(bottom)
+ SCROLL_EDGE_END_PROGRAM(bottom)
+ SCROLL_EDGE_START_PROGRAM(bottom)
+ SCROLL_EDGE_AFTER_PROGRAM(bottom)
+ SCROLL_EDGE_PROGRAM(bottom)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(left)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(left)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(left, HOR, NOR)
+ SCROLL_EDGE_INIT_PROGRAM(left)
+ SCROLL_EDGE_SCROLL_PROGRAM(left)
+ SCROLL_EDGE_END_PROGRAM(left)
+ SCROLL_EDGE_START_PROGRAM(left)
+ SCROLL_EDGE_AFTER_PROGRAM(left)
+ SCROLL_EDGE_PROGRAM(left)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(right)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(right)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(right, HOR, REV)
+ SCROLL_EDGE_INIT_PROGRAM(right)
+ SCROLL_EDGE_SCROLL_PROGRAM(right)
+ SCROLL_EDGE_END_PROGRAM(right)
+ SCROLL_EDGE_START_PROGRAM(right)
+ SCROLL_EDGE_AFTER_PROGRAM(right)
+ SCROLL_EDGE_PROGRAM(right)
+ } // programs
}
group { "elm/scroller/base/handler/effect";
alias: "elm/gengrid/base/handler";
inherit: "elm/scroller/base/handler";
-
parts {
- rect { "shadow_top1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE-1;
- }
- }
- rect { "shadow_top5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 0.0;
- rel2.to: "bg";
- align: 0.5 1.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- rel2.offset: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE-1;
- }
- }
-
- rect { "shadow_bottom1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE+1;
- }
- }
- rect { "shadow_bottom2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_bottom5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 1.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- align: 0.5 0.0;
- min: 0 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- max: -1 SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- color_class: "scroller/handler/end_effect";
- fixed: 0 1;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: 0 -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- rel2.offset: -1 -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE+1;
- }
- }
- rect { "shadow_left1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_left5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 0.0 0.0;
- rel1.to: "bg";
- rel2.relative: 0.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 1.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE 0;
- rel2.offset: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE-1 -1;
- }
- }
- rect { "shadow_right1";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right2";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_SECOND_LAYER_Min_SIZE+1 -1;
- }
- }
- rect { "shadow_right3";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right4";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE+1 -1;
- }
- }
- rect { "shadow_right5";
- clip: "clipper";
- scale;
- desc { "default";
- rel1.relative: 1.0 0.0;
- rel1.to: "bg";
- rel2.relative: 1.0 1.0;
- rel2.to: "bg";
- rel2.offset: -1 -1;
- align: 0.0 0.5;
- min: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE 0;
- max: SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE -1;
- color_class: "scroller/handler/end_effect";
- fixed: 1 0;
- }
- desc { "start";
- inherit: "default";
- rel1.offset: -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE 0;
- rel2.offset: -SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE+1 -1;
- }
- }
+ SHADOW_PART(top)
+ SHADOW_PART(bottom)
+ SHADOW_PART(left)
+ SHADOW_PART(right)
}
programs {
program { "on_loaded";
@@ -3132,742 +2032,45 @@ group { "elm/scroller/base/handler/effect";
set_int(sbvis_timer, v);
}
}
- program { "edge_top_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_top_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_top_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_top_down, 0);
- if (get_int(effect_top_start))
- {
- set_int(effect_top_reset, 0);
- if (!get_int(effect_top_anim))
- {
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- }
- }
- }
- program { "edge_top_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_top_start))
- {
- set_state(PART:"shadow_top1", "default", 0.0);
- set_state(PART:"shadow_top2", "default", 0.0);
- set_state(PART:"shadow_top3", "default", 0.0);
- set_state(PART:"shadow_top4", "default", 0.0);
- set_state(PART:"shadow_top5", "default", 0.0);
- set_int(effect_top_reset, 0);
- run_program(PROGRAM:"edge_top_init");
- }
- }
- }
- program { "edge_top_end";
- action: STATE_SET "default";
- target: "shadow_top1";
- target: "shadow_top2";
- target: "shadow_top3";
- target: "shadow_top4";
- target: "shadow_top5";
- transition: SINUSOIDAL 0.3;
- after: "edge_top_init";
- }
- program { "edge_top_init";
- script {
- set_int(effect_top_move, 0);
- if (!get_int(effect_top_reset))
- set_int(effect_top_start, 0);
- set_int(effect_top_max, 0);
- set_int(top_prev_diff, 0);
- set_int(effect_top_end, 0);
- }
- }
- // Effect Show //
- program { "edge_top";
- signal: "elm,edge,top";
- source: "elm";
- script {
- if (!get_int(effect_top_start))
- {
- set_int(effect_top_start, 1);
- set_int(effect_top_anim, 1);
- run_program(PROGRAM:"edge_top_start");
- }
- }
- }
- program { "edge_top_start";
- action: STATE_SET "start";
- target: "shadow_top1";
- target: "shadow_top2";
- target: "shadow_top3";
- target: "shadow_top4";
- target: "shadow_top5";
- transition: SINUSOIDAL 0.2;
- after: "edge_top_after";
- }
- program { "edge_top_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(top_down_y, yy);
- set_int(effect_top_anim, 0);
- // mouse down //
- if (get_int(effect_top_down))
- {
- set_int(effect_top_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_top_reset, 0);
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- }
- }
- program { "edge_top_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_top_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(top_move_y, yy);
- set_int(top_diff, (get_int(top_move_y) - get_int(top_down_y)));
- if (get_int(top_diff) < get_int(top_prev_diff))
- {
- set_int(top_prev_diff, 0);
- set_int(effect_top_move, 0);
- set_int(effect_top_reset, 1);
- if (!get_int(effect_top_end))
- {
- set_int(effect_top_end, 1);
- run_program(PROGRAM:"edge_top_end");
- }
- }
- else
- {
- if (!get_int(effect_top_end))
- {
- if (get_int(top_diff) <= 90 && !get_int(effect_top_max))
- {
- fx1 = fx2 = fx3 = fx4 = fx5 = sin(get_int(top_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_top_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_top1", "default", 0.0);
- set_state_val(PART:"shadow_top1", STATE_REL1_OFFSET, 0, round(fx1));
- set_state_val(PART:"shadow_top1", STATE_REL2_OFFSET, -1, round(fx1) - 2);
- set_state(PART:"shadow_top1", "custom", 0.0);
-
- custom_state(PART:"shadow_top2", "default", 0.0);
- set_state_val(PART:"shadow_top2", STATE_REL1_OFFSET, 0, round(fx2));
- set_state_val(PART:"shadow_top2", STATE_REL2_OFFSET, -1, round(fx2) - 2);
- set_state(PART:"shadow_top2", "custom", 0.0);
-
- custom_state(PART:"shadow_top3", "default", 0.0);
- set_state_val(PART:"shadow_top3", STATE_REL1_OFFSET, 0, round(fx3));
- set_state_val(PART:"shadow_top3", STATE_REL2_OFFSET, -1, round(fx3) - 2);
- set_state(PART:"shadow_top3", "custom", 0.0);
-
- custom_state(PART:"shadow_top4", "default", 0.0);
- set_state_val(PART:"shadow_top4", STATE_REL1_OFFSET, 0, round(fx4));
- set_state_val(PART:"shadow_top4", STATE_REL2_OFFSET, -1, round(fx4) - 2);
- set_state(PART:"shadow_top4", "custom", 0.0);
-
- custom_state(PART:"shadow_top5", "default", 0.0);
- set_state_val(PART:"shadow_top5", STATE_REL1_OFFSET, 0, round(fx5));
- set_state_val(PART:"shadow_top5", STATE_REL2_OFFSET, -1, round(fx5) - 2);
- set_state(PART:"shadow_top5", "custom", 0.0);
-
- set_int(top_prev_diff, get_int(top_diff));
- }
- }
- }
- }
- }
- program { "edge_bottom_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_bottom_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_bottom_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_bottom_down, 0);
- if (get_int(effect_bottom_start))
- {
- set_int(effect_bottom_reset, 0);
- if (!get_int(effect_bottom_anim))
- {
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- }
- }
- }
- program { "edge_bottom_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_bottom_start))
- {
- set_state(PART:"shadow_bottom1", "default", 0.0);
- set_state(PART:"shadow_bottom2", "default", 0.0);
- set_state(PART:"shadow_bottom3", "default", 0.0);
- set_state(PART:"shadow_bottom4", "default", 0.0);
- set_state(PART:"shadow_bottom5", "default", 0.0);
- set_int(effect_bottom_reset, 0);
- run_program(PROGRAM:"edge_bottom_init");
- }
- }
- }
- program { "edge_bottom_end";
- action: STATE_SET "default";
- target: "shadow_bottom1";
- target: "shadow_bottom2";
- target: "shadow_bottom3";
- target: "shadow_bottom4";
- target: "shadow_bottom5";
- transition: SINUSOIDAL 0.3;
- after: "edge_bottom_init";
- }
- program { "edge_bottom_init";
- script {
- set_int(effect_bottom_move, 0);
- if (!get_int(effect_bottom_reset))
- set_int(effect_bottom_start, 0);
- set_int(effect_bottom_max, 0);
- set_int(bottom_prev_diff, 0);
- set_int(effect_bottom_end, 0);
- }
- }
- // Effect Show //
- program { "edge_bottom";
- signal: "elm,edge,bottom";
- source: "elm";
- script {
- if (!get_int(effect_bottom_start))
- {
- set_int(effect_bottom_start, 1);
- set_int(effect_bottom_anim, 1);
- run_program(PROGRAM:"edge_bottom_start");
- }
- }
- }
- program { "edge_bottom_start";
- action: STATE_SET "start";
- target: "shadow_bottom1";
- target: "shadow_bottom2";
- target: "shadow_bottom3";
- target: "shadow_bottom4";
- target: "shadow_bottom5";
- transition: SINUSOIDAL 0.2;
- after: "edge_bottom_after";
- }
- program { "edge_bottom_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(effect_bottom_anim, 0);
- set_int(bottom_down_y, yy);
- // mouse down //
- if (get_int(effect_bottom_down))
- {
- set_int(effect_bottom_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_bottom_reset, 0);
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- }
- }
- program { "edge_bottom_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_bottom_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(bottom_move_y, yy);
- set_int(bottom_diff, (get_int(bottom_down_y) - get_int(bottom_move_y)));
- if (get_int(bottom_diff) < get_int(bottom_prev_diff))
- {
- set_int(bottom_prev_diff, 0);
- set_int(effect_bottom_move, 0);
- set_int(effect_bottom_reset, 1);
- if (!get_int(effect_bottom_end))
- {
- set_int(effect_bottom_end, 1);
- run_program(PROGRAM:"edge_bottom_end");
- }
- }
- else
- {
- if (!get_int(effect_bottom_end))
- {
- if (get_int(bottom_diff) <= 90 && !get_int(effect_bottom_max))
- {
- fx1 = fx2 = fx3 = fx4 = fx5 = sin(get_int(bottom_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_bottom_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_bottom1", "default", 0.0);
- set_state_val(PART:"shadow_bottom1", STATE_REL1_OFFSET, 0, round(fx1) * -1 + 1);
- set_state_val(PART:"shadow_bottom1", STATE_REL2_OFFSET, -1, (round(fx1) - 1) * -1);
- set_state(PART:"shadow_bottom1", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom2", "default", 0.0);
- set_state_val(PART:"shadow_bottom2", STATE_REL1_OFFSET, 0, round(fx2) * -1 + 1);
- set_state_val(PART:"shadow_bottom2", STATE_REL2_OFFSET, -1, (round(fx2) - 1) * -1);
- set_state(PART:"shadow_bottom2", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom3", "default", 0.0);
- set_state_val(PART:"shadow_bottom3", STATE_REL1_OFFSET, 0, round(fx3) * -1 + 1);
- set_state_val(PART:"shadow_bottom3", STATE_REL2_OFFSET, -1, (round(fx3) - 1) * -1 );
- set_state(PART:"shadow_bottom3", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom4", "default", 0.0);
- set_state_val(PART:"shadow_bottom4", STATE_REL1_OFFSET, 0, round(fx4) * -1 + 1);
- set_state_val(PART:"shadow_bottom4", STATE_REL2_OFFSET, -1, (round(fx4) - 1) * -1 );
- set_state(PART:"shadow_bottom4", "custom", 0.0);
-
- custom_state(PART:"shadow_bottom5", "default", 0.0);
- set_state_val(PART:"shadow_bottom5", STATE_REL1_OFFSET, 0, round(fx5) * -1 + 1);
- set_state_val(PART:"shadow_bottom5", STATE_REL2_OFFSET, -1, (round(fx5) - 1) * -1 );
- set_state(PART:"shadow_bottom5", "custom", 0.0);
-
- set_int(bottom_prev_diff, get_int(bottom_diff));
- }
- }
- }
- }
- }
- program { "edge_left_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_left_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_left_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_left_down, 0);
- if (get_int(effect_left_start))
- {
- set_int(effect_left_reset, 0);
- if (!get_int(effect_left_anim))
- {
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- }
- }
- }
- program { "edge_left_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_left_start))
- {
- set_state(PART:"shadow_left1", "default", 0.0);
- set_state(PART:"shadow_left2", "default", 0.0);
- set_state(PART:"shadow_left3", "default", 0.0);
- set_state(PART:"shadow_left4", "default", 0.0);
- set_state(PART:"shadow_left5", "default", 0.0);
- set_int(effect_left_reset, 0);
- run_program(PROGRAM:"edge_left_init");
- }
- }
- }
- program { "edge_left_end";
- action: STATE_SET "default";
- target: "shadow_left1";
- target: "shadow_left2";
- target: "shadow_left3";
- target: "shadow_left4";
- target: "shadow_left5";
- transition: SINUSOIDAL 0.3;
- after: "edge_left_init";
- }
- program { "edge_left_init";
- script {
- set_int(effect_left_move, 0);
- if (!get_int(effect_left_reset))
- set_int(effect_left_start, 0);
- set_int(effect_left_max, 0);
- set_int(left_prev_diff, 0);
- set_int(effect_left_end, 0);
- }
- }
- // Effect Show //
- program { "edge_left";
- signal: "elm,edge,left";
- source: "elm";
- script {
- if (!get_int(effect_left_start))
- {
- set_int(effect_left_start, 1);
- set_int(effect_left_anim, 1);
- run_program(PROGRAM:"edge_left_start");
- }
- }
- }
- program { "edge_left_start";
- action: STATE_SET "start";
- target: "shadow_left1";
- target: "shadow_left2";
- target: "shadow_left3";
- target: "shadow_left4";
- target: "shadow_left5";
- transition: SINUSOIDAL 0.2;
- after: "edge_left_after";
- }
- program { "edge_left_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(left_down_x, xx);
- set_int(effect_left_anim, 0);
- // mouse down //
- if (get_int(effect_left_down))
- {
- set_int(effect_left_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_left_reset, 0);
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- }
- }
- program { "edge_left_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_left_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(left_move_x, xx);
- set_int(left_diff, (get_int(left_move_x) - get_int(left_down_x)));
- if (get_int(left_diff) < get_int(left_prev_diff))
- {
- set_int(left_prev_diff, 0);
- set_int(effect_left_move, 0);
- set_int(effect_left_reset, 1);
- if (!get_int(effect_left_end))
- {
- set_int(effect_left_end, 1);
- run_program(PROGRAM:"edge_left_end");
- }
- }
- else
- {
- if (!get_int(effect_left_end))
- {
- if (get_int(left_diff) <= 90 && !get_int(effect_left_max))
- {
- fx1 = fx2 = fx3 = sin(get_int(left_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_left_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_left1", "default", 0.0);
- set_state_val(PART:"shadow_left1", STATE_REL1_OFFSET, round(fx1), 0);
- set_state_val(PART:"shadow_left1", STATE_REL2_OFFSET, round(fx1) - 1, -1);
- set_state(PART:"shadow_left1", "custom", 0.0);
-
- custom_state(PART:"shadow_left2", "default", 0.0);
- set_state_val(PART:"shadow_left2", STATE_REL1_OFFSET, round(fx2), 0);
- set_state_val(PART:"shadow_left2", STATE_REL2_OFFSET, round(fx2) - 1, - 1);
- set_state(PART:"shadow_left2", "custom", 0.0);
-
- custom_state(PART:"shadow_left3", "default", 0.0);
- set_state_val(PART:"shadow_left3", STATE_REL1_OFFSET, round(fx3), 0);
- set_state_val(PART:"shadow_left3", STATE_REL2_OFFSET, round(fx3) - 1, - 1);
- set_state(PART:"shadow_left3", "custom", 0.0);
-
- custom_state(PART:"shadow_left4", "default", 0.0);
- set_state_val(PART:"shadow_left4", STATE_REL1_OFFSET, round(fx4), 0);
- set_state_val(PART:"shadow_left4", STATE_REL2_OFFSET, round(fx4) - 1, - 1);
- set_state(PART:"shadow_left4", "custom", 0.0);
-
- custom_state(PART:"shadow_left5", "default", 0.0);
- set_state_val(PART:"shadow_left5", STATE_REL1_OFFSET, round(fx5), 0);
- set_state_val(PART:"shadow_left5", STATE_REL2_OFFSET, round(fx5) - 1, - 1);
- set_state(PART:"shadow_left5", "custom", 0.0);
-
- set_int(left_prev_diff, get_int(left_diff));
- }
- }
- }
- }
- }
- program { "edge_right_mouse_down";
- signal: "elm,state,mouse,down";
- source: "elm";
- script {
- set_int(effect_right_down, 1);
- }
- }
- // Effect Hide //
- program { "edge_right_mouse_up";
- signal: "elm,state,mouse,up";
- source: "elm";
- script {
- set_int(effect_right_down, 0);
- if (get_int(effect_right_start))
- {
- set_int(effect_right_reset, 0);
- if (!get_int(effect_right_anim))
- {
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- }
- }
- }
- program { "edge_right_scroll";
- signal: "elm,action,scroll";
- source: "elm";
- script {
- if (get_int(effect_right_start))
- {
- set_state(PART:"shadow_right1", "default", 0.0);
- set_state(PART:"shadow_right2", "default", 0.0);
- set_state(PART:"shadow_right3", "default", 0.0);
- set_state(PART:"shadow_right4", "default", 0.0);
- set_state(PART:"shadow_right5", "default", 0.0);
- set_int(effect_right_reset, 0);
- run_program(PROGRAM:"edge_right_init");
- }
- }
- }
- program { "edge_right_end";
- action: STATE_SET "default";
- target: "shadow_right1";
- target: "shadow_right2";
- target: "shadow_right3";
- target: "shadow_right4";
- target: "shadow_right5";
- transition: SINUSOIDAL 0.3;
- after: "edge_right_init";
- }
- program { "edge_right_init";
- script {
- set_int(effect_right_move, 0);
- if (!get_int(effect_right_reset))
- set_int(effect_right_start, 0);
- set_int(effect_right_max, 0);
- set_int(right_prev_diff, 0);
- set_int(effect_right_end, 0);
- }
- }
- // Effect Show //
- program { "edge_right";
- signal: "elm,edge,right";
- source: "elm";
- script {
- if (!get_int(effect_right_start))
- {
- set_int(effect_right_start, 1);
- set_int(effect_right_anim, 1);
- run_program(PROGRAM:"edge_right_start");
- }
- }
- }
- program { "edge_right_start";
- action: STATE_SET "start";
- target: "shadow_right1";
- target: "shadow_right2";
- target: "shadow_right3";
- target: "shadow_right4";
- target: "shadow_right5";
- transition: SINUSOIDAL 0.2;
- after: "edge_right_after";
- }
- program { "edge_right_after";
- script {
- new xx, yy;
- get_mouse(xx, yy);
- set_int(right_down_x, xx);
- set_int(effect_right_anim, 0);
- // mouse down //
- if (get_int(effect_right_down))
- {
- set_int(effect_right_move, 1);
- }
- // mouse up //
- else
- {
- set_int(effect_right_reset, 0);
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- }
- }
- program { "edge_right_mouse_move";
- signal: "elm,state,mouse,move";
- source: "elm";
- script {
- if (get_int(effect_right_move))
- {
- new xx, yy;
- new Float:fx1, Float:fx2, Float:fx3, Float:fx4, Float:fx5;
- get_mouse(xx, yy);
- set_int(right_move_x, xx);
- set_int(right_diff, (get_int(right_down_x) - get_int(right_move_x)));
- if (get_int(right_diff) < get_int(right_prev_diff))
- {
- set_int(right_prev_diff, 0);
- set_int(effect_right_move, 0);
- set_int(effect_right_reset, 1);
- if (!get_int(effect_right_end))
- {
- set_int(effect_right_end, 1);
- run_program(PROGRAM:"edge_right_end");
- }
- }
- else
- {
- if (!get_int(effect_right_end))
- {
- if (get_int(right_diff) <= 90 && !get_int(effect_right_max))
- {
- fx1 = fx2 = fx3 = sin(get_int(right_diff), DEGREES);
- fx1 = fx1 * SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MIN_SIZE;
- fx2 = fx2 * SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MIN_SIZE;
- fx3 = fx3 * SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MIN_SIZE;
- fx4 = fx4 * SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MIN_SIZE;
- fx5 = fx5 * SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MOVE_CORRECTION_VALUE + SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MIN_SIZE;
- }
- else
- {
- set_int(effect_right_max, 1);
- fx1 = SCROLLER_EFFECT_SHADOW_FIRST_LAYER_MAX_SIZE;
- fx2 = SCROLLER_EFFECT_SHADOW_SECOND_LAYER_MAX_SIZE;
- fx3 = SCROLLER_EFFECT_SHADOW_THIRD_LAYER_MAX_SIZE;
- fx4 = SCROLLER_EFFECT_SHADOW_FOURTH_LAYER_MAX_SIZE;
- fx5 = SCROLLER_EFFECT_SHADOW_FIFTH_LAYER_MAX_SIZE;
- }
- custom_state(PART:"shadow_right1", "default", 0.0);
- set_state_val(PART:"shadow_right1", STATE_REL1_OFFSET, round(fx1) * -1, 0);
- set_state_val(PART:"shadow_right1", STATE_REL2_OFFSET, (round(fx1) - 1) * -1, -1);
- set_state(PART:"shadow_right1", "custom", 0.0);
-
- custom_state(PART:"shadow_right2", "default", 0.0);
- set_state_val(PART:"shadow_right2", STATE_REL1_OFFSET, round(fx2) * -1, 0);
- set_state_val(PART:"shadow_right2", STATE_REL2_OFFSET, (round(fx2) - 1) * -1, - 1);
- set_state(PART:"shadow_right2", "custom", 0.0);
-
- custom_state(PART:"shadow_right3", "default", 0.0);
- set_state_val(PART:"shadow_right3", STATE_REL1_OFFSET, round(fx3) * -1, 0);
- set_state_val(PART:"shadow_right3", STATE_REL2_OFFSET, (round(fx3) - 1) * -1, - 1);
- set_state(PART:"shadow_right3", "custom", 0.0);
-
- custom_state(PART:"shadow_right4", "default", 0.0);
- set_state_val(PART:"shadow_right4", STATE_REL1_OFFSET, round(fx4) * -1, 0);
- set_state_val(PART:"shadow_right4", STATE_REL2_OFFSET, (round(fx4) - 1) * -1, - 1);
- set_state(PART:"shadow_right4", "custom", 0.0);
-
- custom_state(PART:"shadow_right5", "default", 0.0);
- set_state_val(PART:"shadow_right5", STATE_REL1_OFFSET, round(fx5) * -1, 0);
- set_state_val(PART:"shadow_right5", STATE_REL2_OFFSET, (round(fx5) - 1) * -1, - 1);
- set_state(PART:"shadow_right5", "custom", 0.0);
-
- set_int(right_prev_diff, get_int(right_diff));
- }
- }
- }
- }
- }
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(top)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(top)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(top, VER, NOR)
+ SCROLL_EDGE_INIT_PROGRAM(top)
+ SCROLL_EDGE_SCROLL_PROGRAM(top)
+ SCROLL_EDGE_END_PROGRAM(top)
+ SCROLL_EDGE_START_PROGRAM(top)
+ SCROLL_EDGE_AFTER_PROGRAM(top)
+ SCROLL_EDGE_PROGRAM(top)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(bottom)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(bottom)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(bottom, VER, REV)
+ SCROLL_EDGE_INIT_PROGRAM(bottom)
+ SCROLL_EDGE_SCROLL_PROGRAM(bottom)
+ SCROLL_EDGE_END_PROGRAM(bottom)
+ SCROLL_EDGE_START_PROGRAM(bottom)
+ SCROLL_EDGE_AFTER_PROGRAM(bottom)
+ SCROLL_EDGE_PROGRAM(bottom)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(left)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(left)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(left, HOR, NOR)
+ SCROLL_EDGE_INIT_PROGRAM(left)
+ SCROLL_EDGE_SCROLL_PROGRAM(left)
+ SCROLL_EDGE_END_PROGRAM(left)
+ SCROLL_EDGE_START_PROGRAM(left)
+ SCROLL_EDGE_AFTER_PROGRAM(left)
+ SCROLL_EDGE_PROGRAM(left)
+
+ SCROLL_EDGE_MOUSE_DOWN_PROGRAM(right)
+ SCROLL_EDGE_MOUSE_UP_PROGRAM(right)
+ SCROLL_EDGE_MOUSE_MOVE_PROGRAM(right, HOR, REV)
+ SCROLL_EDGE_INIT_PROGRAM(right)
+ SCROLL_EDGE_SCROLL_PROGRAM(right)
+ SCROLL_EDGE_END_PROGRAM(right)
+ SCROLL_EDGE_START_PROGRAM(right)
+ SCROLL_EDGE_AFTER_PROGRAM(right)
+ SCROLL_EDGE_PROGRAM(right)
}
}