summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/default/base.src.in1
-rw-r--r--config/mobile/base.src.in1
-rw-r--r--config/standard/base.src.in1
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c6
-rw-r--r--src/lib/elementary/elm_interface_scrollable.h1
5 files changed, 9 insertions, 1 deletions
diff --git a/config/default/base.src.in b/config/default/base.src.in
index 1817ffd179..089a4a4e30 100644
--- a/config/default/base.src.in
+++ b/config/default/base.src.in
@@ -23,6 +23,7 @@ group "Elm_Config" struct {
23 value "scroll_smooth_start_enable" uchar: 1; 23 value "scroll_smooth_start_enable" uchar: 1;
24 value "scroll_smooth_amount" double: 1.0; 24 value "scroll_smooth_amount" double: 1.0;
25 value "scroll_smooth_time_window" double: 0.15; 25 value "scroll_smooth_time_window" double: 0.15;
26 value "scroll_accel_factor" double: 7.0;
26 value "focus_autoscroll_mode" uchar: 0; 27 value "focus_autoscroll_mode" uchar: 0;
27 value "slider_indicator_visible_mode" int: 0; 28 value "slider_indicator_visible_mode" int: 0;
28 value "scale" double: 1.0; 29 value "scale" double: 1.0;
diff --git a/config/mobile/base.src.in b/config/mobile/base.src.in
index 3e15c10033..8265f47873 100644
--- a/config/mobile/base.src.in
+++ b/config/mobile/base.src.in
@@ -23,6 +23,7 @@ group "Elm_Config" struct {
23 value "scroll_smooth_start_enable" uchar: 1; 23 value "scroll_smooth_start_enable" uchar: 1;
24 value "scroll_smooth_amount" double: 1.0; 24 value "scroll_smooth_amount" double: 1.0;
25 value "scroll_smooth_time_window" double: 0.15; 25 value "scroll_smooth_time_window" double: 0.15;
26 value "scroll_accel_factor" double: 7.0;
26 value "focus_autoscroll_mode" uchar: 0; 27 value "focus_autoscroll_mode" uchar: 0;
27 value "slider_indicator_visible_mode" int: 0; 28 value "slider_indicator_visible_mode" int: 0;
28 value "scale" double: 1.0; 29 value "scale" double: 1.0;
diff --git a/config/standard/base.src.in b/config/standard/base.src.in
index 96847d768a..2bbb5aa1f7 100644
--- a/config/standard/base.src.in
+++ b/config/standard/base.src.in
@@ -23,6 +23,7 @@ group "Elm_Config" struct {
23 value "scroll_smooth_start_enable" uchar: 1; 23 value "scroll_smooth_start_enable" uchar: 1;
24 value "scroll_smooth_amount" double: 1.0; 24 value "scroll_smooth_amount" double: 1.0;
25 value "scroll_smooth_time_window" double: 0.15; 25 value "scroll_smooth_time_window" double: 0.15;
26 value "scroll_accel_factor" double: 7.0;
26 value "focus_autoscroll_mode" uchar: 0; 27 value "focus_autoscroll_mode" uchar: 0;
27 value "slider_indicator_visible_mode" int: 0; 28 value "slider_indicator_visible_mode" int: 0;
28 value "scale" double: 1.0; 29 value "scale" double: 1.0;
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c
index a92a503ed4..7c14d31e25 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -1942,9 +1942,13 @@ _scroll_wheel_post_event_cb(void *data, Evas *e EINA_UNUSED)
1942 double delta_t = (double)(ev->timestamp - sid->last_wheel) / 1000.0; 1942 double delta_t = (double)(ev->timestamp - sid->last_wheel) / 1000.0;
1943 double mul; 1943 double mul;
1944 1944
1945 if (delta_t > 0.2) sid->last_wheel_mul = 0.0;
1946 if (delta_t > 0.2) delta_t = 0.2;
1945 mul = 1.0 + (_elm_config->scroll_accel_factor * ((0.2 - delta_t) / 0.2)); 1947 mul = 1.0 + (_elm_config->scroll_accel_factor * ((0.2 - delta_t) / 0.2));
1946 if (delta_t < 0.2) d *= mul; 1948 mul = mul * (1.0 + (0.15 * sid->last_wheel_mul));
1949 d *= mul;
1947 sid->last_wheel = ev->timestamp; 1950 sid->last_wheel = ev->timestamp;
1951 sid->last_wheel_mul = mul;
1948 if (!direction) 1952 if (!direction)
1949 { 1953 {
1950 if ((ch > vh) || (cw <= vw)) y += d * sid->step.y; 1954 if ((ch > vh) || (cw <= vw)) y += d * sid->step.y;
diff --git a/src/lib/elementary/elm_interface_scrollable.h b/src/lib/elementary/elm_interface_scrollable.h
index 21e17ffa97..f2167267ab 100644
--- a/src/lib/elementary/elm_interface_scrollable.h
+++ b/src/lib/elementary/elm_interface_scrollable.h
@@ -193,6 +193,7 @@ struct _Elm_Scrollable_Smart_Interface_Data
193 int page_limit_h, page_limit_v; 193 int page_limit_h, page_limit_v;
194 int current_calc; 194 int current_calc;
195 195
196 double last_wheel_mul;
196 unsigned int last_wheel; 197 unsigned int last_wheel;
197 198
198 unsigned char size_adjust_recurse; 199 unsigned char size_adjust_recurse;