Atspi: enhance finding next and prev item on screen's edge 51/173851/4 accepted/tizen/4.0/unified/20180330.060739 submit/tizen_4.0/20180328.070153 submit/tizen_4.0/20180329.042932
authorJunsuChoi <jsuya.choi@samsung.com>
Mon, 26 Mar 2018 10:29:32 +0000 (19:29 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Wed, 28 Mar 2018 07:04:20 +0000 (07:04 +0000)
commita193251490a7089b5f4dcdf5811585842c982c39
treee26c0857d1ff23e8aa4a62041f754231ba9eec4b
parent04eb79f6d212f4f8ae1f260c5bcd16dc66e97ada
Atspi: enhance finding next and prev item on screen's edge

1) The content of list is checked that is screen out when genlist's content_pos_set is called.
   Therefore, the content of the item is excluded from check that is screen out.

2) the content_pos_set of genlist differs by 1 pixel from the final call when scrolled up and down.
   If the item size is 360x360 on a 360x360 size screen, scrolling upward (0,360) to (0, 0)
   will be called until the y coordinate of the highlight object in content_pos_set is 1.
   But downward is not same. if scrolling downward (0,0) to (0,360)
   will be called y coordinate of highlight object in final called content_pos_set is 360.
   This part can be modified according to the content_pos_set call convention.

3) delta_y means the direction of the scroll. However, old_y and y do not have the proper orientation
   when content_pos_set is called twice. Therefore, we use delta_y_backup temporarily.

[dlogutil]

When scroll up

E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = 0, y = 0
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = -45, hy = 0, y = 45
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = -45, y = 45
...
...

E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = -1, hy = -358, y = 359
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = -359, y = 359
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = -1, hy = -359, y = 360
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = -359, y = 360

When scroll down

E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = 0, y = 360
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 43, hy = 0, y = 317
...
...
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 2, hy = 357, y = 1
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = 359, y = 1
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 1, hy = 359, y = 0
E/EFL     ( 3219): elementary<3219> elm_genlist.c:9997 _elm_genlist_elm_interface_scrollable_content_pos_set()  delta_y = 0, hy = 360, y = 0

Change-Id: Iaa32c138009efa5d04f5b2447af1ba230c912d06
src/lib/elm_win.c
src/mobile_lib/elm_genlist.c
src/mobile_lib/elm_widget_genlist.h