summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorJaeun Choi <jaeun12.choi@samsung.com>2019-03-22 11:30:34 +0900
committerJaeun Choi <jaeun12.choi@samsung.com>2019-03-29 20:14:09 +0900
commit103248d8f02009696610a0bb663a660e3d3f3c95 (patch)
tree879926c77bf0203f53926e8b648c9b54e438c34f /src/lib
parent9126a47eaa88e7e81850c27f5f19f88946c23677 (diff)
downloadefl-103248d8f02009696610a0bb663a660e3d3f3c95.tar.gz
efl_ui_pager: fix pack function
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/elementary/efl_page_transition.c12
-rw-r--r--src/lib/elementary/efl_page_transition_scroll.c16
-rw-r--r--src/lib/elementary/efl_ui_pager.c10
-rw-r--r--src/lib/elementary/elm_priv.h1
4 files changed, 34 insertions, 5 deletions
diff --git a/src/lib/elementary/efl_page_transition.c b/src/lib/elementary/efl_page_transition.c
index 6c5c834d6e..3740a6996d 100644
--- a/src/lib/elementary/efl_page_transition.c
+++ b/src/lib/elementary/efl_page_transition.c
@@ -64,6 +64,14 @@ _efl_page_transition_update(Eo *obj EINA_UNUSED,
}
EOLIAN static void
+_efl_page_transition_pack(Eo *obj EINA_UNUSED,
+ Efl_Page_Transition_Data *pd EINA_UNUSED,
+ int index EINA_UNUSED)
+{
+
+}
+
+EOLIAN static void
_efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED,
Efl_Page_Transition_Data *pd EINA_UNUSED,
int diff EINA_UNUSED)
@@ -84,6 +92,8 @@ _efl_page_transition_loop_set(Eo *obj EINA_UNUSED,
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update,
EFL_FUNC_CALL(move), double move)
+EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack,
+ EFL_FUNC_CALL(index), int index)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change,
EFL_FUNC_CALL(diff), int diff)
EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_page_size_set,
@@ -97,6 +107,8 @@ EOAPI EFL_FUNC_BODYV(efl_page_transition_loop_set, Eina_Bool, 0,
#define EFL_PAGE_TRANSITION_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_page_transition_update, \
_efl_page_transition_update), \
+ EFL_OBJECT_OP_FUNC(efl_page_transition_pack, \
+ _efl_page_transition_pack), \
EFL_OBJECT_OP_FUNC(efl_page_transition_curr_page_change, \
_efl_page_transition_curr_page_change), \
EFL_OBJECT_OP_FUNC(efl_page_transition_page_size_set, \
diff --git a/src/lib/elementary/efl_page_transition_scroll.c b/src/lib/elementary/efl_page_transition_scroll.c
index 4979206153..5c5cb9aa11 100644
--- a/src/lib/elementary/efl_page_transition_scroll.c
+++ b/src/lib/elementary/efl_page_transition_scroll.c
@@ -399,6 +399,20 @@ _efl_page_transition_scroll_update(Eo *obj,
}
EOLIAN static void
+_efl_page_transition_scroll_pack(Eo *obj,
+ Efl_Page_Transition_Scroll_Data *pd,
+ int index)
+{
+ EFL_PAGE_TRANSITION_DATA_GET(obj, spd);
+ Eo *tmp;
+
+ tmp = efl_pack_content_get(spd->pager.obj, index);
+ efl_canvas_object_clipper_set(tmp, pd->backclip);
+
+ _efl_page_transition_scroll_update(obj, pd, 0.0);
+}
+
+EOLIAN static void
_efl_page_transition_scroll_curr_page_change(Eo *obj EINA_UNUSED,
Efl_Page_Transition_Scroll_Data *pd,
int diff)
@@ -640,6 +654,8 @@ _efl_page_transition_scroll_efl_object_invalidate(Eo *obj,
#define EFL_PAGE_TRANSITION_SCROLL_EXTRA_OPS \
EFL_OBJECT_OP_FUNC(efl_page_transition_update, \
_efl_page_transition_scroll_update), \
+ EFL_OBJECT_OP_FUNC(efl_page_transition_pack, \
+ _efl_page_transition_scroll_pack), \
EFL_OBJECT_OP_FUNC(efl_page_transition_curr_page_change, \
_efl_page_transition_scroll_curr_page_change), \
EFL_OBJECT_OP_FUNC(efl_page_transition_page_size_set, \
diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c
index e5f65c55d3..0511694249 100644
--- a/src/lib/elementary/efl_ui_pager.c
+++ b/src/lib/elementary/efl_ui_pager.c
@@ -397,7 +397,7 @@ _efl_ui_pager_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED,
pd->curr.page++;
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ efl_page_transition_pack(pd->transition, 0);
else
{
if (pd->cnt == 1)
@@ -424,7 +424,7 @@ _efl_ui_pager_efl_pack_linear_pack_end(Eo *obj EINA_UNUSED,
if (pd->curr.page == -1) pd->curr.page = 0;
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ efl_page_transition_pack(pd->transition, (pd->cnt - 1));
else
{
if (pd->cnt == 1)
@@ -455,7 +455,7 @@ _efl_ui_pager_efl_pack_linear_pack_before(Eo *obj EINA_UNUSED,
if (pd->curr.page >= index) pd->curr.page++;
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ efl_page_transition_pack(pd->transition, index);
else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
@@ -481,7 +481,7 @@ _efl_ui_pager_efl_pack_linear_pack_after(Eo *obj EINA_UNUSED,
if (pd->curr.page > index) pd->curr.page++;
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ efl_page_transition_pack(pd->transition, (index + 1));
else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
@@ -518,7 +518,7 @@ _efl_ui_pager_efl_pack_linear_pack_at(Eo *obj,
if (pd->curr.page >= index) pd->curr.page++;
if (pd->transition)
- efl_page_transition_update(pd->transition, pd->curr.pos);
+ efl_page_transition_pack(pd->transition, index);
else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
diff --git a/src/lib/elementary/elm_priv.h b/src/lib/elementary/elm_priv.h
index b504d47298..54c32cf9a6 100644
--- a/src/lib/elementary/elm_priv.h
+++ b/src/lib/elementary/elm_priv.h
@@ -874,6 +874,7 @@ void _elm_widget_full_eval_children(Eo *obj, Elm_Widget_Smart_Da
EOAPI void efl_page_transition_page_size_set(Eo *obj, Eina_Size2D sz);
EOAPI void efl_page_transition_padding_size_set(Eo *obj, int padding);
EOAPI void efl_page_transition_update(Eo *obj, double pos);
+EOAPI void efl_page_transition_pack(Eo *obj, int index);
EOAPI void efl_page_transition_curr_page_change(Eo *obj, int diff);
EOAPI Eina_Bool efl_page_transition_loop_set(Eo *obj, Efl_Ui_Pager_Loop loop);