src/lib/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.
EAPI void edje_frametime_set (double t)
 Set edje trasitions' frame time.
EAPI Eina_Bool edje_object_animation_get (const Evas_Object *obj)
 Get the Edje object's animation state.
EAPI void edje_object_animation_set (Evas_Object *obj, Eina_Bool on)
 Set the object's animation state.
EAPI Eina_Bool edje_object_play_get (const Evas_Object *obj)
 Get the Edje object's state.
EAPI void edje_object_play_set (Evas_Object *obj, Eina_Bool play)
 Set the Edje object to playing or paused states.
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 void * edje_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 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.
EAPI void * edje_object_signal_callback_extra_data_get (void)
 Get extra data passed to callbacks.
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.

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_Calc_Params::center, _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_Program::id, _Edje_Program_After::id, _Edje_Program_Target::id, _Edje_Program::in, _Edje_Calc_Params::light, _Edje_Calc_Params::map, _Edje_Program::mode, _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::pending_actions, _Edje_Calc_Params::persp, _Edje_Running_Program::program, _Edje_Real_Part::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_Part_Dragable::x, _Edje_Position_Scale::x, _Edje::x, _Edje_Calc_Params::x, _Edje_Part_Dragable::y, _Edje_Position_Scale::y, _Edje::y, _Edje_Calc_Params::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:
t The 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:
obj A 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 
)

Set the object's animation state.

Parameters:
obj A handle to an Edje object.
on The animation state. EINA_TRUE to starts or EINA_FALSE to stops.
This function starts or stops an Edje object's animation. The information if it's stopped can be retrieved by edje_object_animation_get().

See also:
edje_object_animation_get()

References _edje_block(), _edje_block_break(), _edje_emit(), _edje_fetch(), _edje_freeze(), _edje_program_run_iterate(), _edje_thaw(), _edje_unblock(), _Edje::actions, _Edje::delete_me, edje_object_animation_set(), EDJE_PART_TYPE_GROUP, _Edje::no_anim, _Edje_Real_Part::part, _Edje_Running_Program::program, _Edje_Running_Program::start_time, _Edje_Real_Part::swallowed_object, _Edje::table_parts, _Edje::table_parts_size, _Edje_Program::time, TO_DOUBLE, _Edje_Program::tween, and _Edje_Part::type.

Referenced by edje_object_animation_set().

EAPI Eina_Bool edje_object_play_get ( const Evas_Object *  obj  ) 

Get the Edje object's state.

Parameters:
obj A 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:
obj A handle to an Edje object.
play Object 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:
obj A handle to an Edje object
emission The signal's "emission" string
source The signal's "source" string
func The callback function passed on the callback's registration
data The 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_Signal_Callback::delete_me, _Edje::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:
obj A handle to an Edje object
emission The signal's "emission" string
source The 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_orientation_inform().


Variable Documentation

Ecore_Animator* _edje_timer = NULL