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