/* scrolling animation stopped callback */ static void _grid_scroll_stopped_cb(void *data, Evas_Object *obj, void *event_info) { int h_pagenumber = 0, v_pagenumber = 0; elm_scroller_current_page_get(obj, &h_pagenumber, &v_pagenumber); fprintf(stdout, "Grid current horiz page is %d, vert page is %d\n", h_pagenumber, v_pagenumber); }
static void _scroll(void *data, Evas_Object *obj, void *ei) { int cur_page; page_data *pd = (page_data *)data; elm_scroller_current_page_get(pd->scroller, &cur_page, NULL); if (cur_page != pd->cur_page) { printf("scroll: %d\n", pd->cur_page); pd->prev_page = pd->cur_page; pd->cur_page = cur_page; if ((pd->cur_page >= NUM_ITEMS_CIRCLE_EVEN) || (pd->prev_page >= NUM_ITEMS_CIRCLE_EVEN)) return; elm_object_signal_emit(pd->page_layout[pd->cur_page], "elm,state,thumbnail,select", "elm"); elm_object_signal_emit(pd->page_layout[pd->prev_page], "elm,state,thumbnail,unselect", "elm"); _index_sync(pd); } }