edje_program.c File Reference

Data Structures

struct  _Edje_Program_Data
 

Functions

void _edje_callbacks_patterns_clean (Edje *ed)
 
void _edje_emit (Edje *ed, const char *sig, const char *src)
 
void _edje_emit_full (Edje *ed, const char *sig, const char *src, void *data, void(*free_func)(void *))
 
void _edje_emit_handle (Edje *ed, const char *sig, const char *src, Edje_Message_Signal_Data *sdata, Eina_Bool prop)
 
void _edje_program_end (Edje *ed, Edje_Running_Program *runp)
 
void _edje_program_run (Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig, const char *ssrc)
 
Eina_Bool _edje_program_run_iterate (Edje_Running_Program *runp, double tim)
 
EAPI double edje_frametime_get (void)
 Get edje trasitions' frame time. More...
 
EAPI void edje_frametime_set (double t)
 Set edje trasitions' frame time. More...
 
EAPI Eina_Bool edje_object_animation_get (const Evas_Object *obj)
 Get the Edje object's animation state. More...
 
EAPI void edje_object_animation_set (Evas_Object *obj, Eina_Bool on)
 Set the object's animation state. More...
 
EAPI Eina_Bool edje_object_play_get (const Evas_Object *obj)
 Get the Edje object's state. More...
 
EAPI void edje_object_play_set (Evas_Object *obj, Eina_Bool play)
 Set the Edje object to playing or paused states. More...
 
void edje_object_propagate_callback_add (Evas_Object *obj, void(*func)(void *data, Evas_Object *o, const char *emission, const char *source), void *data)
 
EAPI void edje_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, void(*func)(void *data, Evas_Object *o, const char *emission, const char *source), void *data)
 
EAPI voidedje_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, void(*func)(void *data, Evas_Object *o, const char *emission, const char *source))
 
EAPI voidedje_object_signal_callback_del_full (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
 Unregister/delete a callback set for an arriving Edje signal, emitted by a given Ejde object. More...
 
EAPI voidedje_object_signal_callback_extra_data_get (void)
 Get extra data passed to callbacks. More...
 
EAPI void edje_object_signal_emit (Evas_Object *obj, const char *emission, const char *source)
 Send/emit an Edje signal to a given Edje object. More...
 

Variables

int _edje_anim_count = 0
 
Eina_List * _edje_animators = NULL
 
Ecore_Animator * _edje_timer = NULL
 

Function Documentation

void _edje_program_run ( Edje ed,
Edje_Program pr,
Eina_Bool  force,
const char *  ssig,
const char *  ssrc 
)

References _edje_anim_count, _edje_animators, _edje_block(), _edje_block_break(), _edje_dragable_pos_set(), _edje_embryo_test_run(), _edje_emit(), _edje_freeze(), _edje_multisense_internal_sound_sample_play(), _edje_multisense_internal_sound_tone_play(), _edje_part_description_apply(), _edje_part_pos_set(), _edje_part_recalc(), _edje_pending_timer_cb(), _edje_program_end(), _edje_program_run(), _edje_recalc(), _edje_recalc_do(), _edje_ref(), _edje_thaw(), _edje_timer, _edje_timer_cb(), _edje_unblock(), _edje_unref(), _Edje_Program::action, _Edje::actions, _Edje_Program::after, _Edje_Real_Part_Drag::count, _Edje_Real_Part::current, _Edje::delete_me, _Edje_Real_Part_State::description, _Edje_Real_Part_Drag::down, _Edje_Real_Part::drag, _Edje_Part::dragable, _Edje_Program::dst, _Edje_Program::duration, _Edje_Running_Program::edje, _Edje_Pending_Program::edje, EDJE_ACTION_TYPE_ACTION_STOP, EDJE_ACTION_TYPE_DRAG_VAL_PAGE, EDJE_ACTION_TYPE_DRAG_VAL_SET, EDJE_ACTION_TYPE_DRAG_VAL_STEP, EDJE_ACTION_TYPE_FOCUS_OBJECT, EDJE_ACTION_TYPE_FOCUS_SET, EDJE_ACTION_TYPE_PARAM_COPY, EDJE_ACTION_TYPE_PARAM_SET, EDJE_ACTION_TYPE_SCRIPT, EDJE_ACTION_TYPE_SIGNAL_EMIT, EDJE_ACTION_TYPE_SOUND_SAMPLE, EDJE_ACTION_TYPE_SOUND_TONE, EDJE_ACTION_TYPE_STATE_SET, EDJE_TWEEN_MODE_OPT_FROM_CURRENT, ERR, FLAG_XY, _Edje::focused_part, _Edje_Program::from, _Edje::group, _Edje_Program::id, _Edje_Program_Target::id, _Edje_Program_After::id, _Edje_Program::in, _Edje_Program::mode, _Edje_Program::name, _Edje_Part::name, _Edje_Part_Description_Common::name, _Edje::no_anim, _Edje::obj, _Edje_Real_Part::object, _Edje_Real_Part_Drag::page, _Edje_Program::param, _Edje_Real_Part::param1, _Edje_Real_Part::part, _Edje::path, _Edje::pending_actions, _Edje_Real_Part::program, _Edje_Running_Program::program, _Edje_Pending_Program::program, _Edje_Program::range, _Edje_Program::sample_name, _Edje_Program::speed, _Edje_Program::src, _Edje_Running_Program::start_time, _Edje_Program::state, _Edje_Part_Description_Common::state, _Edje_Program::state2, _Edje_Real_Part_Drag::step, _Edje_Real_Part::swallowed_object, _Edje::table_parts, _Edje::table_parts_size, _Edje::table_programs, _Edje::table_programs_size, _Edje_Program::targets, _Edje_Program::time, _Edje_Pending_Program::timer, _Edje_Program::tone_name, _Edje_Program::tween, _Edje_Program::v1, _Edje_Program::v2, _Edje_Real_Part_Drag::val, _Edje_Program::value, _Edje_Part_Description_Common::value, _Edje_Program::value2, _Edje_Position_Scale::x, _Edje_Part_Dragable::x, _Edje_Position_Scale::y, _Edje_Part_Dragable::y, and ZERO.

Referenced by _edje_emit_handle(), _edje_pending_timer_cb(), _edje_program_run(), _edje_program_run_iterate(), and edje_edit_program_run().

EAPI double edje_frametime_get ( void  )

Get edje trasitions' frame time.

Returns
The frame time, in seconds.

This function returns the edje frame time set by edje_frametime_set() or the default value 1/30.

See Also
edje_frametime_set()
EAPI void edje_frametime_set ( double  t)

Set edje trasitions' frame time.

Parameters
tThe frame time, in seconds. Default value is 1/30.

This function sets the edje built-in animations' frame time (thus, affecting their resolution) by calling ecore_animator_frametime_set(). This frame time can be retrieved with edje_frametime_get().

See Also
edje_frametime_get()
EAPI Eina_Bool edje_object_animation_get ( const Evas_Object *  obj)

Get the Edje object's animation state.

Parameters
objA handle to an Edje object.
Returns
EINA_FALSE on error or if object is not animated; EINA_TRUE if animated.

This function returns if the animation is stopped or not. The animation state is set by edje_object_animation_set().

See Also
edje_object_animation_set().

References _edje_fetch(), _Edje::delete_me, and _Edje::no_anim.

EAPI void edje_object_animation_set ( Evas_Object *  obj,
Eina_Bool  on 
)
EAPI Eina_Bool edje_object_play_get ( const Evas_Object *  obj)

Get the Edje object's state.

Parameters
objA handle to an Edje object.
Returns
EINA_FALSE if the object is not connected, its delete_me flag is set, or it is at paused state; EINA_TRUE if the object is at playing state.

This function tells if an Edje object is playing or not. This state is set by edje_object_play_set().

See Also
edje_object_play_set().

References _edje_fetch(), _Edje::delete_me, and _Edje::paused.

EAPI void edje_object_play_set ( Evas_Object *  obj,
Eina_Bool  play 
)

Set the Edje object to playing or paused states.

Parameters
objA handle to an Edje object.
playObject state (EINA_TRUE to playing, EINA_FALSE to paused).

This function sets the Edje object obj to playing or paused states, depending on the parameter play. This has no effect if the object was already at that state.

See Also
edje_object_play_get().

References _edje_fetch(), _Edje::actions, _Edje::delete_me, edje_object_play_set(), EDJE_PART_TYPE_GROUP, _Edje_Real_Part::part, _Edje::paused, _Edje::paused_at, _Edje_Running_Program::start_time, _Edje_Real_Part::swallowed_object, _Edje::table_parts, _Edje::table_parts_size, and _Edje_Part::type.

Referenced by edje_object_play_set().

EAPI void edje_object_signal_callback_add ( Evas_Object *  obj,
const char *  emission,
const char *  source,
void(*)(void *data, Evas_Object *o, const char *emission, const char *source)  func,
void data 
)
EAPI void* edje_object_signal_callback_del ( Evas_Object *  obj,
const char *  emission,
const char *  source,
void(*)(void *data, Evas_Object *o, const char *emission, const char *source)  func 
)
EAPI void* edje_object_signal_callback_del_full ( Evas_Object *  obj,
const char *  emission,
const char *  source,
Edje_Signal_Cb  func,
void data 
)

Unregister/delete a callback set for an arriving Edje signal, emitted by a given Ejde object.

Parameters
objA handle to an Edje object
emissionThe signal's "emission" string
sourceThe signal's "source" string
funcThe callback function passed on the callback's registration
dataThe pointer given to be passed as data to func
Returns
data, on success or NULL, on errors (or if data had this value)

This function removes a callback, previously attached to the emittion of a signal, from the object obj. The parameters emission, source, func and data must match exactly those passed to a previous call to edje_object_signal_callback_add(). The data pointer that was passed to this call will be returned.

See Also
edje_object_signal_callback_add().
edje_object_signal_callback_del().

References _edje_callbacks_patterns_clean(), _edje_fetch(), _Edje::callbacks, _Edje_Signal_Callback::data, _Edje::delete_callbacks, _Edje::delete_me, _Edje_Signal_Callback::delete_me, _Edje_Signal_Callback::func, _Edje_Signal_Callback::signal, _Edje_Signal_Callback::source, and _Edje::walking_callbacks.

EAPI void* edje_object_signal_callback_extra_data_get ( void  )

Get extra data passed to callbacks.

Returns
the extra data for that callback.

Some callbacks pass extra information. This function gives access to that extra information. It's somehow like event_info in smart callbacks.

See Also
edje_object_signal_callback_add() for more on Edje signals.
Since
1.1.0
EAPI void edje_object_signal_emit ( Evas_Object *  obj,
const char *  emission,
const char *  source 
)

Send/emit an Edje signal to a given Edje object.

Parameters
objA handle to an Edje object
emissionThe signal's "emission" string
sourceThe signal's "source" string

This function sends a signal to the object obj. An Edje program, at obj's EDC specification level, can respond to a signal by having declared matching 'signal' and 'source' fields on its block (see the syntax for EDC files).

As an example,

* edje_object_signal_emit(obj, "a_signal", "");
*

would trigger a program which had an EDC declaration block like

* program {
* name: "a_program";
* signal: "a_signal";
* source: "";
* action: ...
* }
*
See Also
edje_object_signal_callback_add() for more on Edje signals.

References _edje_emit(), _edje_fetch(), and _Edje::delete_me.

Referenced by _edje_object_file_set_internal(), and _edje_object_orientation_inform().

Variable Documentation

Ecore_Animator* _edje_timer = NULL