return pd->cnt;
}
+static Eina_Bool
+_register_child(Eo *obj EINA_UNUSED, Efl_Ui_Pager_Data *pd, Efl_Gfx_Entity *subobj)
+{
+ if (!pd->transition)
+ efl_canvas_object_clipper_set(subobj, pd->backclip);
+
+ return EINA_TRUE;
+}
+
EOLIAN static Eina_Bool
_efl_ui_pager_efl_pack_linear_pack_begin(Eo *obj EINA_UNUSED,
Efl_Ui_Pager_Data *pd,
Efl_Gfx_Entity *subobj)
{
+ if (!_register_child(obj, pd, subobj)) return EINA_FALSE;
pd->content_list = eina_list_prepend(pd->content_list, subobj);
pd->cnt++;
{
if (pd->cnt == 1)
efl_pack(pd->page_box, subobj);
- else efl_canvas_object_clipper_set(subobj, pd->backclip);
}
if (pd->indicator)
Efl_Ui_Pager_Data *pd,
Efl_Gfx_Entity *subobj)
{
+ if (!_register_child(obj, pd, subobj)) return EINA_FALSE;
pd->content_list = eina_list_append(pd->content_list, subobj);
pd->cnt++;
{
if (pd->cnt == 1)
efl_pack(pd->page_box, subobj);
- else efl_canvas_object_clipper_set(subobj, pd->backclip);
}
if (pd->indicator)
Efl_Gfx_Entity *subobj,
const Efl_Gfx_Entity *existing)
{
+ if (!_register_child(obj, pd, subobj)) return EINA_FALSE;
int index = eina_list_data_idx(pd->content_list, (void *)existing);
if (index == -1) return EINA_FALSE;
if (pd->transition)
efl_page_transition_pack(pd->transition, index);
- else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
efl_page_indicator_pack(pd->indicator, index);
Efl_Gfx_Entity *subobj,
const Efl_Gfx_Entity *existing)
{
+ if (!_register_child(obj, pd, subobj)) return EINA_FALSE;
int index = eina_list_data_idx(pd->content_list, (void *)existing);
if (index == -1) return EINA_FALSE;
if (pd->transition)
efl_page_transition_pack(pd->transition, (index + 1));
- else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
efl_page_indicator_pack(pd->indicator, (index + 1));
{
Efl_Gfx_Entity *existing = NULL;
+ if (!_register_child(obj, pd, subobj)) return EINA_FALSE;
existing = eina_list_nth(pd->content_list, index);
pd->content_list = eina_list_prepend_relative(
pd->content_list, subobj, existing);
if (pd->transition)
efl_page_transition_pack(pd->transition, index);
- else efl_canvas_object_clipper_set(subobj, pd->backclip);
if (pd->indicator)
efl_page_indicator_pack(pd->indicator, index);