elm_scroller: fix scrolling with key move
authorJeonghyun Yun <jh0506.yun@samsung.com>
Wed, 18 Oct 2017 11:15:12 +0000 (20:15 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 18 Oct 2017 11:31:05 +0000 (20:31 +0900)
Use content_region_show instead of content_pos_set in _key_action_move

Summary:
When user keep pressing key down or else on scroller content, scroller
animation is lagging because of elm_interface_scrollable_content_pos_set
by step_x or step_y value.  When focus moved to next object by press key
down or else, content_pos_set by ecore_animator continuously.  In this
time, content_pos_set in _key_action_move by step_x or step_y value
caused animation lagging problem.  I fixed to use content_region_show
instead of content_pos_set in _key_action_move for remove exist
animator.

Test Plan:
1. elementary_test -> Scroller3
2. Press 3 times "Append 10 Items in 3s" button
3. focus to Item1 and keep pressing key_down

Reviewers: jpeg, woohyun

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D5278

src/lib/elementary/elm_scroller.c

index 9ddfce9..1e4f406 100644 (file)
@@ -255,8 +255,7 @@ _key_action_move(Evas_Object *obj, const char *params)
      }
    else return EINA_FALSE;
 
-   elm_interface_scrollable_content_pos_set(obj, x, y, EINA_TRUE);
-
+   elm_interface_scrollable_content_region_show(obj, x, y, v_w, v_h);
 
    return EINA_TRUE;
 }