eunue pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5fcb50ebb0676021880739d51220a2f9199907d2
commit 5fcb50ebb0676021880739d51220a2f9199907d2 Author: Jaeun Choi <[email protected]> Date: Thu Jan 24 18:47:50 2019 +0900 efl_page_indicator: add a variable 'curr_idx; in data --- src/lib/elementary/efl_page_indicator.c | 17 +++++++++++++---- src/lib/elementary/efl_page_indicator.h | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_page_indicator.c b/src/lib/elementary/efl_page_indicator.c index 86ea8511e5..9f8aeeb33c 100644 --- a/src/lib/elementary/efl_page_indicator.c +++ b/src/lib/elementary/efl_page_indicator.c @@ -14,18 +14,19 @@ EOLIAN static void _efl_page_indicator_update(Eo *obj EINA_UNUSED, - Efl_Page_Indicator_Data *pd EINA_UNUSED, + Efl_Page_Indicator_Data *pd, double pos EINA_UNUSED) { - + pd->curr_idx = efl_ui_pager_current_page_get(pd->pager.obj); } EOLIAN static void _efl_page_indicator_pack(Eo *obj EINA_UNUSED, Efl_Page_Indicator_Data *pd, - int index EINA_UNUSED) + int index) { pd->cnt++; + if ((pd->curr_idx == -1) || (pd->curr_idx >= index)) pd->curr_idx++; } EOLIAN static void @@ -40,7 +41,15 @@ _efl_page_indicator_bind(Eo *obj EINA_UNUSED, pd->idbox = idbox; if (pager) - pd->cnt = efl_content_count(pd->pager.obj); + { + pd->cnt = efl_content_count(pd->pager.obj); + pd->curr_idx = efl_ui_pager_current_page_get(pd->pager.obj); + } + else + { + pd->cnt = 0; + pd->curr_idx = -1; + } } diff --git a/src/lib/elementary/efl_page_indicator.h b/src/lib/elementary/efl_page_indicator.h index 42dc88651d..78dfd8c223 100644 --- a/src/lib/elementary/efl_page_indicator.h +++ b/src/lib/elementary/efl_page_indicator.h @@ -14,6 +14,7 @@ struct _Efl_Page_Indicator_Data Efl_Ui_Box *idbox; int cnt; + int curr_idx; }; #define EFL_PAGE_INDICATOR_DATA_GET(o, pd) \ --
