* @param obj Object to be animated.
*
* @ingroup Transit
- * @warning See the documentation of the effect if is safe add or remove
- * an object after @p transit begins to run.
+ * @warning It is not allowed to add a new object after transit begins to go.
*/
EAPI void
elm_transit_object_add(Elm_Transit *transit, Evas_Object *obj)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
EINA_SAFETY_ON_NULL_RETURN(obj);
- Elm_Obj_Data *obj_data = evas_object_data_get(obj, _transit_key);
+ Elm_Obj_Data *obj_data;
+
+ if (transit->animator) return;
+
+ obj_data = evas_object_data_get(obj, _transit_key);
if (obj_data)
{
* @param obj Object to be removed from @p transit.
*
* @ingroup Transit
- * @warning See the documentation of the effect if is safe add or remove
- * an object after @p transit begins to run.
+ * @warning It is not allowed to remove objects after transit begins to go.
*/
EAPI void
elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
EINA_SAFETY_ON_NULL_RETURN(obj);
- Elm_Obj_Data *obj_data = evas_object_data_get(obj, _transit_key);
+ Elm_Obj_Data *obj_data;
+
+ if (transit->animator) return;
+
+ obj_data = evas_object_data_get(obj, _transit_key);
+
if ((!obj_data) || (obj_data->transit != transit)) return;
_elm_transit_object_remove(transit, obj);
*
* @note This API is one of the facades. It creates resizing effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note This effect will be applied to the objects that are in the transit,
- * @note If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
*
* @note This API is one of the facades. It creates translation effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note When this function is called, it gets the current objects in
- * the transit, that is, elm_transit_object_remove() and elm_transit_object_add()
- * will not cause any changes in the set of objects that this effect is being
- * applied.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_translation_add(Elm_Transit *transit, Evas_Coord from_dx, Evas_Coord from_dy, Evas_Coord to_dx, Evas_Coord to_dy)
*
* @note This API is one of the facades. It creates zoom effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_zoom_add(Elm_Transit *transit, float from_rate, float to_rate)
* @note This effect is applied to each pair of objects in the order they are listed
* in the transit list of objects. The first object in the pair will be the
* "front" object and the second will be the "back" object.
- * @note If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_flip_add(Elm_Transit *transit, Elm_Transit_Effect_Flip_Axis axis, Eina_Bool cw)
* @note This effect is applied to each pair of objects in the order they are listed
* in the transit list of objects. The first object in the pair will be the
* "front" object and the second will be the "back" object.
- * @note When this function is called, it gets the current objects in
- * the transit, that is, elm_transit_object_remove() and elm_transit_object_add()
- * will not cause any changes in the set of objects that this effect is being
- * applied.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_resizable_flip_add(Elm_Transit *transit, Elm_Transit_Effect_Flip_Axis axis, Eina_Bool cw)
*
* @note This API is one of the facades. It creates wipe effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note This effect will be applied to the objects that are in the transit,
- * If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_wipe_add(Elm_Transit *transit, Elm_Transit_Effect_Wipe_Type type, Elm_Transit_Effect_Wipe_Dir dir)
*
* @note This API is one of the facades. It creates color effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note This effect will be applied to the objects that are in the transit,
- * If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
* @note This effect is applied to each pair of objects in the order they are listed
* in the transit list of objects. The first object in the pair will be the
* "before" object and the second will be the "after" object.
- * @note When this function is called, it gets the current objects in
- * the transit, that is, elm_transit_object_remove() and elm_transit_object_add()
- * will not cause any changes in the set of objects that this effect is being
- * applied.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the color information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_fade_add(Elm_Transit *transit)
* @note This effect is applied to each pair of objects in the order they are listed
* in the transit list of objects. The first object in the pair will be the
* "before" object and the second will be the "after" object.
- * @note When this function be called, it gets the current objects in
- * the transit, that is, elm_transit_object_remove() and elm_transit_object_add()
- * will not cause any changes in the set of objects that this effect is being
- * applied.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the color information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_blend_add(Elm_Transit *transit)
*
* @note This API is one of the facades. It creates rotation effect context
* and add it's required APIs to elm_transit_effect_add.
- * @note This effect will be applied to the objects that are in the transit,
- * If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* @see elm_transit_effect_add()
*
* the window that the objects of the transit belongs has already been created.
* This is because this effect needs the geometry information about the objects,
* and if the window was not created yet, it can get a wrong information.
- * @warning Is not recommended remove or add an object after the transit begins
- * to run, because the order of the objects will be affected.
*/
EAPI void *
elm_transit_effect_rotation_add(Elm_Transit *transit, float from_degree, float to_degree)
* The @p images parameter is a list images paths. This list and
* its contents will be deleted at the end of the effect by
* elm_transit_effect_image_animation_context_free() function.
- * @note This effect will be applied to the objects that are in the transit,
- * If you change the set of objects in the transit with elm_transit_object_add()
- * or elm_transit_object_remove(), the set of objects affected by this effect
- * will be changed too.
*
* Example:
* @code