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) \

-- 


Reply via email to