Hello, I'm Jaehwan Kim

els_scroller has some problems.

First, when the function "elm_scroller_page_size_set" is used and the scroller 
is bounced,
the signal "scroll,anim,stop" is not called.

Second, the signal "scroll,anim,stop" is called at the time 
"ELM_THUMBSCROLL_FRICTION",
even if the animation of scroller end before the time.

So I changed the code "els_scroller.c".
Patch code is the following.

Thanks.

Index : els_scroller.c
============================================================================================
--- src/lib/els_scroller.c      2010-11-22 12:30:37.000000000 +0900
+++ src/lib/els_scroller.c      2010-11-22 15:23:46.000000000 +0900
@@ -306,7 +306,7 @@
         px = sd->scrollto.x.end;
         elm_smart_scroller_child_pos_set(sd->smart_obj, px, py);
         sd->scrollto.x.animator = NULL;
-        if (!sd->scrollto.y.animator)
+        if (!sd->scrollto.y.animator && !sd->down.bounce_y_animator)
           _smart_anim_stop(sd->smart_obj);
         return ECORE_CALLBACK_CANCEL;
      }
@@ -371,7 +371,7 @@
         py = sd->scrollto.y.end;
         elm_smart_scroller_child_pos_set(sd->smart_obj, px, py);
         sd->scrollto.y.animator = NULL;
-        if (!sd->scrollto.x.animator)
+        if (!sd->scrollto.x.animator && !sd->down.bounce_x_animator)
           _smart_anim_stop(sd->smart_obj);
         return ECORE_CALLBACK_CANCEL;
      }
@@ -521,12 +521,14 @@
           elm_smart_scroller_child_pos_set(sd->smart_obj, x, y);
         if (dt >= 1.0)
           {
-             if (sd->down.momentum_animator)
-               sd->down.bounce_x_hold = 1;
-             sd->down.bounce_x_animator = NULL;
-             sd->down.pdx = 0;
-             sd->bouncemex = 0;
-             return ECORE_CALLBACK_CANCEL;
+                        if (sd->down.momentum_animator)
+                          sd->down.bounce_x_hold = 1;
+                        else if(!sd->down.bounce_y_animator && 
!sd->scrollto.y.animator)
+                          _smart_anim_stop(sd->smart_obj);
+                        sd->down.bounce_x_animator = NULL;
+                        sd->down.pdx = 0;
+                        sd->bouncemex = 0;
+                        return ECORE_CALLBACK_CANCEL;
           }
      }
    return ECORE_CALLBACK_RENEW;
@@ -555,13 +557,15 @@
           elm_smart_scroller_child_pos_set(sd->smart_obj, x, y);
         if (dt >= 1.0)
           {
-             if (sd->down.momentum_animator)
-               sd->down.bounce_y_hold = 1;
-             sd->down.bounce_y_animator = NULL;
-             sd->down.pdy = 0;
-             sd->bouncemey = 0;
-             return ECORE_CALLBACK_CANCEL;
-          }
+                        if (sd->down.momentum_animator)
+                          sd->down.bounce_y_hold = 1;
+                        else if(!sd->down.bounce_x_animator && 
!sd->scrollto.y.animator)
+                          _smart_anim_stop(sd->smart_obj);
+                        sd->down.bounce_y_animator = NULL;
+                        sd->down.pdy = 0;
+                        sd->bouncemey = 0;
+                        return ECORE_CALLBACK_CANCEL;
+         }
      }
    return ECORE_CALLBACK_RENEW;
 }
@@ -649,7 +653,7 @@
              y = py;
           }
        elm_smart_scroller_child_pos_set(sd->smart_obj, x, y);
-       if (dt >= 1.0)
+       if (dt >= 1.0 || (sd->down.bounce_x_hold && sd->down.bounce_y_hold))
          {
              _smart_anim_stop(sd->smart_obj);
             sd->down.momentum_animator = NULL;
============================================================================================
------------------------------------------------------------------------------
Beautiful is writing same markup. Internet Explorer 9 supports
standards for HTML5, CSS3, SVG 1.1,  ECMAScript5, and DOM L2 & L3.
Spend less time writing and  rewriting code and more time creating great
experiences on the web. Be a part of the beta today
http://p.sf.net/sfu/msIE9-sfdev2dev
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to