forked from enlightenment/efl
interface scroll: handle wanted x coordinates in case of mirroring.
Summary: In case of mirror enabled, wanted x should come from _elm_scroll_x_mirrored_get(). This defect is visible in case of some fancy effects on scroller (map). @Fix Reviewers: raster, Hermet Subscribers: herdsman, sachin.dev, kimcinoo, eagleeye, seoz Differential Revision: https://phab.enlightenment.org/D2363
This commit is contained in:
parent
c8a0fb2b36
commit
b699096d64
|
@ -1209,15 +1209,15 @@ _elm_scroll_wanted_coordinates_update(Elm_Scrollable_Smart_Interface_Data *sid,
|
|||
eo_do(sid->obj, elm_interface_scrollable_content_viewport_geometry_get
|
||||
(NULL, NULL, &sid->ww, &sid->wh));
|
||||
|
||||
if (x < minx)
|
||||
if (x < minx && !sid->is_mirrored)
|
||||
{
|
||||
if (!sid->loop_h) sid->wx = minx;
|
||||
else sid->wx = mx;
|
||||
}
|
||||
else if (!sid->loop_h && (x > mx)) sid->wx = mx;
|
||||
else if (sid->loop_h && x >= (sid->ww + mx)) sid->wx = 0;
|
||||
else if (sid->is_mirrored)
|
||||
sid->wx = _elm_scroll_x_mirrored_get(sid->obj, x);
|
||||
else if (!sid->loop_h && (x > mx)) sid->wx = mx;
|
||||
else if (sid->loop_h && x >= (sid->ww + mx)) sid->wx = 0;
|
||||
else sid->wx = x;
|
||||
|
||||
if (y < miny)
|
||||
|
|
Loading…
Reference in New Issue