interface_scrollable: modify mirror logic consistently 90/117390/2
authorWonki Kim <wonki_.kim@samsung.com>
Mon, 6 Mar 2017 03:18:38 +0000 (12:18 +0900)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Tue, 7 Mar 2017 06:07:11 +0000 (22:07 -0800)
Current logic inconsistently handles 'wanted coord' as both reversed or not.
That cause scroller unstable in complicated situation.

This commit modify mirror logic consistently and also
replace the same commit that is already merged but has no commit message.
(https://review.tizen.org/gerrit/#/c/104185/)

@tizen_fix

Change-Id: Ie84fa87d968d803295fc3afe015d551cb7ddaf65
Signed-off-by: Wonki Kim <wonki_.kim@samsung.com>
src/lib/elm_interface_scrollable.c

index 17aecc1fd1d6ab3a0cecbd24c204850bc1e46bdb..e3946693b4bf9c3d405b2f4684b47ee2831dd28e 100644 (file)
@@ -2047,7 +2047,7 @@ _elm_interface_scrollable_content_region_set(Eo *obj, Elm_Scrollable_Smart_Inter
 EOLIAN static void
 _elm_interface_scrollable_content_region_show(Eo *obj, Elm_Scrollable_Smart_Interface_Data *sid, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h)
 {
-   sid->wx = (sid->is_mirrored ? _elm_scroll_x_mirrored_get(sid->obj, x) : x);
+   sid->wx = x;
    sid->wy = y;
    sid->ww = w;
    sid->wh = h;
@@ -5155,9 +5155,10 @@ _elm_interface_scrollable_page_show(Eo *obj, Elm_Scrollable_Smart_Interface_Data
    eo_do(sid->obj, elm_interface_scrollable_content_viewport_geometry_get
          (NULL, NULL, &w, &h));
    x = sid->pagesize_h * pagenumber_h;
+   x = (sid->is_mirrored ? _elm_scroll_x_mirrored_get(sid->obj, x) : x);
    y = sid->pagesize_v * pagenumber_v;
 
-   sid->wx = (sid->is_mirrored ? _elm_scroll_x_mirrored_get(sid->obj, x) : x);
+   sid->wx = x;
    sid->wy = y;
    sid->ww = w;
    sid->wh = h;
@@ -5182,6 +5183,7 @@ _elm_interface_scrollable_page_bring_in(Eo *obj, Elm_Scrollable_Smart_Interface_
    eo_do(sid->obj, elm_interface_scrollable_content_viewport_geometry_get
          (NULL, NULL, &w, &h));
    x = sid->pagesize_h * pagenumber_h;
+   x = (sid->is_mirrored ? _elm_scroll_x_mirrored_get(sid->obj, x) : x);
    y = sid->pagesize_v * pagenumber_v;
 
    //FIXME FIXME FIXME: Would you please fix me ?