Elm_Interface_Scrollable: Improvement in looping behavior
authorUmesh Tanwar <umesh.tanwar@samsung.com>
Wed, 1 Jul 2015 02:14:42 +0000 (11:14 +0900)
committerChunEon Park <hermet@hermet.pe.kr>
Wed, 1 Jul 2015 02:14:42 +0000 (11:14 +0900)
Summary:
x and y position variable assumes values ranging from min to max.
cw, the content width is larger than max in x axis. Beacause of this
the scroller is not able to loop in rigth/bottom direction. For looping
comparision min and max values should be used instead of content width.

@fix

Signed-off-by: Umesh Tanwar <umesh.tanwar@samsung.com>
Reviewers: raster, seoz, cedric, Hermet

Reviewed By: Hermet

Subscribers: eagleeye, SanghyeonLee, singh.amitesh, sachin.dev

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

src/lib/elm_interface_scrollable.c

index 4adebcd6c2f00559a8292a0b96a70f93c6305bbd..2c23f00af5bf56161ce522d4ae0656826cfbf3d3 100644 (file)
@@ -1515,13 +1515,13 @@ _elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Scrollable_Smart_Interfac
 
    if (sid->loop_h && cw > 0)
      {
-        if (x < 0) x = cw + (x % cw);
-        else if (x >= cw) x = (x % cw);
+        if (x < minx) x = mx + (x % mx);
+        else if (x > mx) x = (x % mx);
      }
    if (sid->loop_v && ch > 0)
      {
-        if (y < 0) y = ch + (y % ch);
-        else if (y >= ch) y = (y % ch);
+        if (y < miny) y = my + (y % my);
+        else if (y > my) y = (y % my);
      }
 
    if (!_elm_config->thumbscroll_bounce_enable)