elementary/transit - added a new APIs elm_transit_chain_transit_del

SVN revision: 61353
This commit is contained in:
ChunEon Park 2011-07-14 04:36:07 +00:00
parent f80da45f3d
commit ffc4723ba4
2 changed files with 31 additions and 0 deletions

View File

@ -7586,6 +7586,21 @@ extern "C" {
*/
EAPI void elm_transit_chain_transit_add(Elm_Transit *transit, Elm_Transit *chain_transit) EINA_ARG_NONNULL(1, 2);
/**
* Cut off the chain relationship between two transits.
*
* @note @p transit can not be NULL. Transit would have the chain relationship with @p chain transit.
* @note @p chain_transit can not be NULL. Chain transits should be chained to the @p transit.
*
* @param transit The transit object.
* @param chain_transit The chain transit object.
*
* This function remove the @p chain_transit transition from the @p transit.
*
* @ingroup Transit
*/
EAPI void elm_transit_chain_transit_del(Elm_Transit *transit, Elm_Transit *chain_transit) EINA_ARG_NONNULL(1,2);
/**
* Get the current chain transit list.
*

View File

@ -692,6 +692,22 @@ elm_transit_chain_transit_add(Elm_Transit *transit, Elm_Transit *chain_transit)
transit->next_chain_transits = eina_list_append(transit->next_chain_transits, chain_transit);
}
EAPI void
elm_transit_chain_transit_del(Elm_Transit *transit, Elm_Transit *chain_transit)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
ELM_TRANSIT_CHECK_OR_RETURN(chain_transit);
if (chain_transit->prev_chain_transit != transit)
{
WRN("These two transit does not have the chain relationship! : transit=%p, chain_transit=%p", transit, chain_transit);
return;
}
chain_transit->prev_chain_transit = NULL;
transit->next_chain_transits = eina_list_remove(transit->next_chain_transits, chain_transit);
}
EAPI Eina_List *
elm_transit_chain_transits_get(const Elm_Transit * transit)
{