From: Hyoyoung Chang <hyoyoung@gmail.com>
Subject: [E-devel] [patch] els_pan - bugfix gravity move Date: Mon, 5 Dec 2011 13:29:48 +0900 Dear developers. When gravity set on els_pan, user events are processing improperly. Any touch event move pan to wrong position. It's due to accumulate px, py. So I fixed it. Thanks SVN revision: 65885
This commit is contained in:
parent
c74f2f3db5
commit
201f622feb
|
@ -195,16 +195,19 @@ _smart_reconfigure(Smart_Data *sd)
|
||||||
{
|
{
|
||||||
if (sd->gravity_x || sd->gravity_y)
|
if (sd->gravity_x || sd->gravity_y)
|
||||||
{
|
{
|
||||||
|
if ((!sd->px) && (!sd->py))
|
||||||
|
{
|
||||||
|
sd->px = sd->delta_posx*sd->gravity_x;
|
||||||
|
sd->py = sd->delta_posy*sd->gravity_y;
|
||||||
|
}
|
||||||
sd->delta_posx += sd->child_w - sd->prev_cw;
|
sd->delta_posx += sd->child_w - sd->prev_cw;
|
||||||
sd->prev_cw = sd->child_w;
|
sd->prev_cw = sd->child_w;
|
||||||
sd->delta_posy += sd->child_h - sd->prev_ch;
|
sd->delta_posy += sd->child_h - sd->prev_ch;
|
||||||
sd->prev_ch = sd->child_h;
|
sd->prev_ch = sd->child_h;
|
||||||
|
|
||||||
evas_object_move(sd->child_obj,
|
evas_object_move(sd->child_obj, sd->x - sd->px, sd->y - sd->py);
|
||||||
sd->x - sd->px - (sd->delta_posx*sd->gravity_x),
|
sd->px = sd->delta_posx*sd->gravity_x;
|
||||||
sd->y - sd->py - (sd->delta_posy*sd->gravity_y));
|
sd->py = sd->delta_posy*sd->gravity_y;
|
||||||
sd->px += sd->delta_posx*sd->gravity_x;
|
|
||||||
sd->py += sd->delta_posy*sd->gravity_y;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue