_elm_module_symbol_get(mod, "tizen_push_effect");
((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_pop_effect =
_elm_module_symbol_get(mod, "tizen_pop_effect");
+ ((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_push_deferred_effect =
+ _elm_module_symbol_get(mod, "tizen_push_deferred_effect");
+ ((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_pop_deferred_effect =
+ _elm_module_symbol_get(mod, "tizen_pop_deferred_effect");
+ ((Elm_Naviframe_Mod_Api *)(mod->api))->tizen_effect_enabled_get =
+ _elm_module_symbol_get(mod, "tizen_effect_enabled_get");
nf_mod = mod->api;
}
//
+//TIZEN ONLY(20161208): Support tizen transition
+static Eina_Bool
+_tizen_effect_enabled_get(Elm_Naviframe_Item_Data *it)
+{
+ if (nf_mod &&
+ nf_mod->tizen_effect_enabled_get &&
+ nf_mod->tizen_effect_enabled_get(VIEW(it)))
+ {
+ return EINA_TRUE;
+ }
+
+ return EINA_FALSE;
+}
+//
+
static Eina_Bool _on_item_back_btn_clicked(void *data,
Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED);
_prev_page_focus_recover(prev_it);
- elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
+ if (!_tizen_effect_enabled_get(prev_it))
+ elm_object_signal_emit(VIEW(prev_it), "elm,state,visible", "elm");
+ //
eo_do(WIDGET(prev_it), eo_event_callback_call(ELM_NAVIFRAME_EVENT_ITEM_ACTIVATED, EO_OBJ(prev_it)));
}
ATSPI_STATE(ELM_ATSPI_STATE_SHOWING) | ATSPI_STATE(ELM_ATSPI_STATE_VISIBLE), EINA_TRUE));
//
- elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ if (!_tizen_effect_enabled_get(it))
+ elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ //
if (sd->freeze_events)
evas_object_freeze_events_set(VIEW(it), EINA_FALSE);
ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd);
- elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+ if (!_tizen_effect_enabled_get(it))
+ elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+ //
_prev_page_focus_recover(it);
cur = nfo->push ? nfo->related : nfo->self;
other = nfo->push ? nfo->self : nfo->related;
- _send_signal(cur, signals_cur[nfo->push]);
- _send_signal(other, nfo->push ? signals_new : signals_prev);
-
- //TIZEN ONLY(20160829): Support tizen transition
- if (nfo->push)
+ //TIZEN ONLY(20161208): Support tizen transition
+ //_send_signal(cur, signals_cur[nfo->push]);
+ //_send_signal(other, nfo->push ? signals_new : signals_prev);
+ if (_tizen_effect_enabled_get(cur))
{
- if (nf_mod && nf_mod->tizen_push_effect)
- nf_mod->tizen_push_effect(WIDGET(cur), VIEW(cur), VIEW(other));
+ if (nfo->push)
+ {
+ if (nf_mod->tizen_push_deferred_effect)
+ nf_mod->tizen_push_deferred_effect(WIDGET(cur), VIEW(cur),
+ EINA_TRUE);
+ }
+ else
+ {
+ if (nf_mod->tizen_pop_deferred_effect)
+ nf_mod->tizen_pop_deferred_effect(WIDGET(cur), VIEW(cur),
+ EINA_TRUE);
+ }
}
else
+ _send_signal(cur, signals_cur[nfo->push]);
+
+ if (_tizen_effect_enabled_get(other))
{
- if (nf_mod && nf_mod->tizen_pop_effect)
- nf_mod->tizen_pop_effect(WIDGET(cur), VIEW(cur), VIEW(other));
+ if (nfo->push)
+ {
+ if (nf_mod->tizen_push_deferred_effect)
+ nf_mod->tizen_push_deferred_effect(WIDGET(other),
+ VIEW(other), EINA_FALSE);
+ }
+ else
+ {
+ if (nf_mod->tizen_pop_deferred_effect)
+ nf_mod->tizen_pop_deferred_effect(WIDGET(other),
+ VIEW(other), EINA_FALSE);
+ }
}
+ else
+ _send_signal(other, nfo->push ? signals_new : signals_prev);
//
free(nfo);
evas_object_freeze_events_set(VIEW(item), EINA_TRUE);
evas_object_freeze_events_set(VIEW(top_item), EINA_TRUE);
}
- elm_object_signal_emit(VIEW(top_item), "elm,state,cur,pushed", "elm");
- elm_object_signal_emit(VIEW(item), "elm,state,new,pushed", "elm");
- edje_object_message_signal_process(elm_layout_edje_get(VIEW(top_item)));
- edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
+
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(top_item), "elm,state,cur,pushed", "elm");
+ //elm_object_signal_emit(VIEW(item), "elm,state,new,pushed", "elm");
+ //edje_object_message_signal_process(elm_layout_edje_get(VIEW(top_item)));
+ //edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
+ if (_tizen_effect_enabled_get(top_item))
+ {
+ if (nf_mod->tizen_push_effect)
+ nf_mod->tizen_push_effect(obj, VIEW(top_item), EINA_TRUE);
+ }
+ else
+ {
+ elm_object_signal_emit(VIEW(top_item), "elm,state,cur,pushed", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(top_item)));
+ }
+
+ if (_tizen_effect_enabled_get(item))
+ {
+ if (nf_mod->tizen_push_effect)
+ nf_mod->tizen_push_effect(obj, VIEW(item), EINA_FALSE);
+ }
+ else
+ {
+ elm_object_signal_emit(VIEW(item), "elm,state,new,pushed", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(item)));
+ }
+ //
nfo->self = item;
nfo->related = top_item;
sd->stack = eina_inlist_append(sd->stack, EINA_INLIST_GET(item));
if (!top_item)
- elm_object_signal_emit(VIEW(item), "elm,state,visible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(item), "elm,state,visible", "elm");
+ {
+ if (!_tizen_effect_enabled_get(item))
+ elm_object_signal_emit(VIEW(item), "elm,state,visible", "elm");
+ }
+ //
elm_layout_sizing_eval(obj);
elm_widget_tree_unfocusable_set(VIEW(it), EINA_TRUE);
evas_object_hide(VIEW(it));
- elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ if (!_tizen_effect_enabled_get(it))
+ elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ //
elm_layout_sizing_eval(obj);
elm_object_focus_set(VIEW(it), EINA_TRUE);
else
elm_object_focus_set(WIDGET(it), EINA_TRUE);
- elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
- elm_object_signal_emit(VIEW(after), "elm,state,invisible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+ //elm_object_signal_emit(VIEW(after), "elm,state,invisible", "elm");
+ if (!_tizen_effect_enabled_get(it))
+ elm_object_signal_emit(VIEW(it), "elm,state,visible", "elm");
+
+ if (!_tizen_effect_enabled_get(after))
+ elm_object_signal_emit(VIEW(after), "elm,state,invisible", "elm");
+ //
}
else
- elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ //TIZEN ONLY(20161208): Support tizen transition
+ //elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ {
+ if (!_tizen_effect_enabled_get(it))
+ elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm");
+ }
+ //
elm_layout_sizing_eval(obj);
_resize_object_reset(obj, prev_it);
+ //TIZEN ONLY(20161208): Support tizen transition
/* these 2 signals MUST take place simultaneously */
- elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
- elm_object_signal_emit(VIEW(prev_it), "elm,state,prev,popped", "elm");
- edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
- edje_object_message_signal_process(elm_layout_edje_get(VIEW(prev_it)));
+ //elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
+ //elm_object_signal_emit(VIEW(prev_it), "elm,state,prev,popped", "elm");
+ //edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ //edje_object_message_signal_process(elm_layout_edje_get(VIEW(prev_it)));
+ if (_tizen_effect_enabled_get(it))
+ {
+ if (nf_mod->tizen_pop_effect)
+ nf_mod->tizen_pop_effect(obj, VIEW(it), EINA_TRUE);
+ }
+ else
+ {
+ elm_object_signal_emit(VIEW(it), "elm,state,cur,popped", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(it)));
+ }
+
+ if (_tizen_effect_enabled_get(prev_it))
+ {
+ if (nf_mod->tizen_pop_effect)
+ nf_mod->tizen_pop_effect(obj, VIEW(prev_it), EINA_FALSE);
+ }
+ else
+ {
+ elm_object_signal_emit(VIEW(prev_it), "elm,state,prev,popped", "elm");
+ edje_object_message_signal_process(elm_layout_edje_get(VIEW(prev_it)));
+ }
+ //
//Show hidden previous view when pop transition begins.
evas_object_show(VIEW(prev_it));