elm_scroller: use region of proxy soruce for loop
Summary: If size of elm_sclloer content is too big, then the proxy of elm_scroller to show loop effect does not work. Because evas_gl_common_image_surface_new does not allow bigger size surface than max_texture_size. Reviewers: Hermet, jsuya, herb Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11996
This commit is contained in:
parent
5e4f81bb6f
commit
b61f755e88
|
@ -328,6 +328,7 @@ _elm_scroller_efl_ui_widget_on_access_activate(Eo *obj, Elm_Scroller_Data *_pd E
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_elm_scroller_efl_canvas_group_group_calculate(Eo *obj, Elm_Scroller_Data *sd)
|
_elm_scroller_efl_canvas_group_group_calculate(Eo *obj, Elm_Scroller_Data *sd)
|
||||||
{
|
{
|
||||||
|
Evas_Coord ovw, ovh;
|
||||||
Evas_Coord vw = 0, vh = 0, minw = 0, minh = 0, maxw = 0, maxh = 0, w, h,
|
Evas_Coord vw = 0, vh = 0, minw = 0, minh = 0, maxw = 0, maxh = 0, w, h,
|
||||||
vmw, vmh;
|
vmw, vmh;
|
||||||
Evas_Coord h_pagesize, v_pagesize;
|
Evas_Coord h_pagesize, v_pagesize;
|
||||||
|
@ -345,6 +346,10 @@ _elm_scroller_efl_canvas_group_group_calculate(Eo *obj, Elm_Scroller_Data *sd)
|
||||||
|
|
||||||
elm_interface_scrollable_content_viewport_geometry_get
|
elm_interface_scrollable_content_viewport_geometry_get
|
||||||
(obj, NULL, NULL, &vw, &vh);
|
(obj, NULL, NULL, &vw, &vh);
|
||||||
|
|
||||||
|
ovw = vw;
|
||||||
|
ovh = vh;
|
||||||
|
|
||||||
if (xw > 0.0)
|
if (xw > 0.0)
|
||||||
{
|
{
|
||||||
if ((minw > 0) && (vw < minw))
|
if ((minw > 0) && (vw < minw))
|
||||||
|
@ -372,7 +377,8 @@ _elm_scroller_efl_canvas_group_group_calculate(Eo *obj, Elm_Scroller_Data *sd)
|
||||||
{
|
{
|
||||||
if (!sd->proxy_content[i]) continue;
|
if (!sd->proxy_content[i]) continue;
|
||||||
elm_interface_scrollable_paging_get((Eo *)obj, NULL, NULL, &h_pagesize, &v_pagesize);
|
elm_interface_scrollable_paging_get((Eo *)obj, NULL, NULL, &h_pagesize, &v_pagesize);
|
||||||
evas_object_image_fill_set(sd->proxy_content[i], 0, 0, vw, vh);
|
evas_object_image_fill_set(sd->proxy_content[i], 0, 0, ovw, ovh);
|
||||||
|
evas_object_image_load_region_set(sd->proxy_content[i], 0, 0, ovw, ovh);
|
||||||
evas_object_size_hint_min_set(sd->proxy_content[i],
|
evas_object_size_hint_min_set(sd->proxy_content[i],
|
||||||
h_pagesize, v_pagesize);
|
h_pagesize, v_pagesize);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue