forked from enlightenment/efl
332 lines
11 KiB
PHP
332 lines
11 KiB
PHP
/* Edje exported calls */
|
|
|
|
/************************************************/
|
|
/* Basic data storage/retrieval (it's explicit) */
|
|
/************************************************/
|
|
/* Example:
|
|
*
|
|
* In the "global" script section of a group:
|
|
*
|
|
* script {
|
|
* public global_value1;
|
|
* public global_value2;
|
|
* public global_value3;
|
|
* }
|
|
*
|
|
* In the program script sections, OR in any global functions/routines:
|
|
* ( several examples of setting/getting values)
|
|
*
|
|
* set_int(global_value1, 7);
|
|
* set_float(global_value2, 42.0);
|
|
* set_str(global_value3, "I am a smelly fish!");
|
|
* new value1 = get_int(global_value1);
|
|
* new Float:value2 = get_float(global_value2);
|
|
* new value3[100]; get_str(global_value3, value3, 100);
|
|
* set_int(global_value1, value1);
|
|
* set_float(global_value2, value2);
|
|
* set_str(global_value3, value3);
|
|
*/
|
|
native get_int (id);
|
|
native set_int (id, val);
|
|
native Float:get_float (id);
|
|
native set_float (id, Float:val);
|
|
native get_strlen(id);
|
|
native get_str (id, dst[], maxlen);
|
|
native set_str (id, str[]);
|
|
|
|
/********************/
|
|
/* Edje list calls */
|
|
/********************/
|
|
native count (id);
|
|
native remove (id, n);
|
|
native append_int (id, v);
|
|
native prepend_int(id, v);
|
|
native insert_int (id, pos, v);
|
|
native replace_int (id, pos, v);
|
|
native fetch_int (id, pos);
|
|
native append_str (id, str[]);
|
|
native prepend_str(id, str[]);
|
|
native insert_str (id, pos, str[]);
|
|
native replace_str(id, pos, str[]);
|
|
native fetch_str (id, pos, dst[], maxlen);
|
|
native append_float (id, Float:v);
|
|
native prepend_float(id, Float:v);
|
|
native insert_float (id, pos, Float:v);
|
|
native replace_float(id, pos, Float:v);
|
|
native Float:fetch_float (id, pos);
|
|
|
|
/********************/
|
|
/* Edje timer calls */
|
|
/********************/
|
|
native timer (Float:in, fname[], val);
|
|
native cancel_timer(id);
|
|
native reset_timer(id);
|
|
|
|
/*******************/
|
|
/* Edje anim calls */
|
|
/*******************/
|
|
native anim (Float:len, fname[], val);
|
|
native cancel_anim(id);
|
|
|
|
enum Tween_Mode_Type
|
|
{
|
|
TWEEN_MODE_LINEAR,
|
|
TWEEN_MODE_ACCELERATE,
|
|
TWEEN_MODE_DECELERATE,
|
|
TWEEN_MODE_SINUSOIDAL,
|
|
TWEEN_MODE_ACCELERATE_FACTOR,
|
|
TWEEN_MODE_DECELERATE_FACTOR,
|
|
TWEEN_MODE_SINUSOIDAL_FACTOR,
|
|
TWEEN_MODE_DIVISOR_INTERP,
|
|
TWEEN_MODE_BOUNCE,
|
|
TWEEN_MODE_SPRING
|
|
};
|
|
|
|
native get_anim_pos_map(Float:pos, Tween_Mode_Type:tween, Float:v1, Float:v2, &Float:ret);
|
|
|
|
/***********************************************************/
|
|
/* Edje utility calls for dealing with edjes/programs etc. */
|
|
/***********************************************************/
|
|
/* Example:
|
|
*
|
|
* emit("this_thing", "clicked");
|
|
* emit("state", "playing");
|
|
*
|
|
* set_state(PART:"logo", "glowing", 0.0);
|
|
* set_state(PART:"button", "default", 0.0);
|
|
*
|
|
* set_tween_state(PART:"button", 0.5, "default", 0.0, "clicked", 0.0);
|
|
*
|
|
* run_program(PROGRAM:"program_name");
|
|
*/
|
|
native emit (sig[], src[]);
|
|
native get_part_id (part[]);
|
|
native get_image_id (image[]);
|
|
native get_program_id (program[]);
|
|
native set_state (part_id, state[], Float:state_val);
|
|
native get_state (part_id, dst[], maxlen, &Float:val);
|
|
native set_tween_state (part_id, Float:tween, state1[], Float:state1_val, state2[], Float:state2_val);
|
|
native run_program (program_id);
|
|
native get_drag_dir (part_id);
|
|
native get_drag (part_id, &Float:dx, &Float:dy);
|
|
native set_drag (part_id, Float:dx, Float:dy);
|
|
native get_drag_size (part_id, &Float:dx, &Float:dy);
|
|
native set_drag_size (part_id, Float:dx, Float:dy);
|
|
native get_drag_step (part_id, &Float:dx, &Float:dy);
|
|
native set_drag_step (part_id, Float:dx, Float:dy);
|
|
native get_drag_page (part_id, &Float:dx, &Float:dy);
|
|
native set_drag_page (part_id, Float:dx, Float:dy);
|
|
native set_text (part_id, str[]);
|
|
native get_text (part_id, dst[], maxlen);
|
|
native get_min_size (&w, &h);
|
|
native get_max_size (&w, &h);
|
|
native get_color_class (class[], &r, &g, &b, &a);
|
|
native set_color_class (class[], r, g, b, a);
|
|
native set_text_class (class[], font[], Float:size);
|
|
native get_text_class (class[], font[], &Float:size);
|
|
native get_geometry (part_id, &x, &y, &w, &h);
|
|
native get_mouse (&x, &y);
|
|
native get_mouse_buttons();
|
|
native stop_program (program_id);
|
|
native stop_programs_on (part_id);
|
|
native set_min_size (Float:w, Float:h);
|
|
native set_max_size (Float:w, Float:h);
|
|
native set_mouse_events (part_id, ev);
|
|
native get_mouse_events (part_id);
|
|
native set_repeat_events(part_id, rep);
|
|
native get_repeat_events(part_id);
|
|
native set_ignore_flags (part_id, flags);
|
|
native get_ignore_flags (part_id);
|
|
native set_mask_flags (part_id, flags);
|
|
native get_mask_flags (part_id);
|
|
native part_swallow (part_id, GROUP:str[]);
|
|
|
|
native external_param_get_int(id, param_name[]);
|
|
native external_param_set_int(id, param_name[], value);
|
|
native Float:external_param_get_float(id, param_name[]);
|
|
native external_param_set_float(id, param_name[], Float:value);
|
|
native external_param_get_strlen(id, param_name[]);
|
|
native external_param_get_str(id, param_name[], value[], value_maxlen);
|
|
native external_param_set_str(id, param_name[], value[]);
|
|
native external_param_get_choice_len(id, param_name[]);
|
|
native external_param_get_choice(id, param_name[], value[], value_maxlen);
|
|
native external_param_set_choice(id, param_name[], value[]);
|
|
native external_param_get_bool(id, param_name[]);
|
|
native external_param_set_bool(id, param_name[], value);
|
|
|
|
enum Msg_Type
|
|
{
|
|
MSG_NONE = 0,
|
|
MSG_STRING = 2,
|
|
MSG_INT = 3,
|
|
MSG_FLOAT = 4,
|
|
MSG_STRING_SET = 5,
|
|
MSG_INT_SET = 6,
|
|
MSG_FLOAT_SET = 7,
|
|
MSG_STRING_INT = 8,
|
|
MSG_STRING_FLOAT = 9,
|
|
MSG_STRING_INT_SET = 10,
|
|
MSG_STRING_FLOAT_SET = 11
|
|
};
|
|
|
|
native send_message(Msg_Type:type, id, ...);
|
|
|
|
/**********************/
|
|
/* Custom state calls */
|
|
/**********************/
|
|
|
|
/* Example:
|
|
*
|
|
* Create the custom state for "my_part", based on the
|
|
* default description of the same part:
|
|
*
|
|
* custom_state(PART:"my_part", "default", 0.0);
|
|
*
|
|
* Later, use set_state_val() to change the properties of the custom
|
|
* state:
|
|
*
|
|
* set_state_val(PART:"my_part", STATE_ALIGNMENT, 0.5, 0.5);
|
|
*
|
|
* get_state_val() works the same way.
|
|
*/
|
|
|
|
native custom_state(part_id, state[], Float:state_val = 0.0);
|
|
|
|
enum State_Param
|
|
{
|
|
STATE_ALIGNMENT = 1,
|
|
STATE_MIN = 2,
|
|
STATE_MAX = 3,
|
|
STATE_STEP = 4,
|
|
STATE_ASPECT = 5,
|
|
STATE_ASPECT_PREF = 6,
|
|
STATE_COLOR = 7,
|
|
STATE_COLOR2 = 8,
|
|
STATE_COLOR3 = 9,
|
|
STATE_COLOR_CLASS = 10,
|
|
STATE_REL1 = 11,
|
|
STATE_REL1_TO = 12,
|
|
STATE_REL1_OFFSET = 13,
|
|
STATE_REL2 = 14,
|
|
STATE_REL2_TO = 15,
|
|
STATE_REL2_OFFSET = 16,
|
|
STATE_IMAGE = 17,
|
|
STATE_BORDER = 18,
|
|
STATE_FILL_SMOOTH = 19,
|
|
STATE_FILL_POS = 20,
|
|
STATE_FILL_SIZE = 21,
|
|
STATE_TEXT = 22,
|
|
STATE_TEXT_CLASS = 23,
|
|
STATE_TEXT_FONT = 24,
|
|
STATE_TEXT_STYLE = 25,
|
|
STATE_TEXT_SIZE = 26,
|
|
STATE_TEXT_FIT = 27,
|
|
STATE_TEXT_MIN = 28,
|
|
STATE_TEXT_MAX = 29,
|
|
STATE_TEXT_ALIGN = 30,
|
|
STATE_VISIBLE = 31,
|
|
STATE_MAP_ON = 32,
|
|
STATE_MAP_PERSP = 33,
|
|
STATE_MAP_LIGHT = 34,
|
|
STATE_MAP_ROT_CENTER = 35,
|
|
STATE_MAP_ROT_X = 36,
|
|
STATE_MAP_ROT_Y = 37,
|
|
STATE_MAP_ROT_Z = 38,
|
|
STATE_MAP_BACK_CULL = 39,
|
|
STATE_MAP_PERSP_ON = 40,
|
|
STATE_PERSP_ZPLANE = 41,
|
|
STATE_PERSP_FOCAL = 42,
|
|
STATE_PHYSICS_MASS = 43,
|
|
STATE_PHYSICS_FRICTION = 44,
|
|
STATE_PHYSICS_RESTITUTION = 45,
|
|
STATE_PHYSICS_DAMPING = 46,
|
|
STATE_PHYSICS_SLEEP = 47,
|
|
STATE_PHYSICS_MATERIAL = 48,
|
|
STATE_PHYSICS_DENSITY = 49,
|
|
STATE_PHYSICS_IGNORE_PART_POS = 50,
|
|
STATE_PHYSICS_LIGHT_ON = 51,
|
|
STATE_PHYSICS_HARDNESS = 52,
|
|
STATE_PHYSICS_MOV_FREEDOM_LIN = 53,
|
|
STATE_PHYSICS_MOV_FREEDOM_ANG = 54,
|
|
STATE_PHYSICS_BACK_CULL = 55,
|
|
STATE_PHYSICS_Z = 56,
|
|
STATE_PHYSICS_DEPTH = 57,
|
|
STATE_PROXY_SRC_VISIBLE = 58,
|
|
STATE_PROXY_SRC_CLIP = 59,
|
|
STATE_BOX_LAYOUT = 60,
|
|
STATE_BOX_FALLBACK_LAYOUT = 61,
|
|
STATE_BOX_ALIGN = 62,
|
|
STATE_BOX_PADDING = 63,
|
|
STATE_BOX_MIN = 64
|
|
};
|
|
|
|
native set_state_val(part_id, State_Param:p, ...);
|
|
native get_state_val(part_id, State_Param:p, ...);
|
|
|
|
/* Multisense */
|
|
native play_sample (sample_name[], Float:speed, ...);
|
|
native play_tone (tone_name[], Float:duration, ...);
|
|
native play_vibration (sample_name[], ...);
|
|
|
|
/***********************************************************/
|
|
/* Edje physics calls. */
|
|
/***********************************************************/
|
|
/* Example:
|
|
*
|
|
* physics_impulse(PART:"logo", 0, 50.8, 0);
|
|
* physics_torque_impulse(PART:"logo", 0, 0, 3.4);
|
|
*
|
|
* physics_force(PART:"logo", 0, 240, 0);
|
|
* physics_torque(PART:"logo", 0, 0, 2.2);
|
|
* physics_clear_forces(PART:"logo");
|
|
*
|
|
* physics_set_velocity(PART:"logo", 40.5, 0, 0);
|
|
* physics_set_ang_velocity(PART:"logo", 0, 0, -3);
|
|
* physics_stop(PART:"logo");
|
|
*
|
|
* physics_set_rotation(PART:"logo", 0.707, 0, 0, 0.707);
|
|
*/
|
|
native physics_impulse (part_id, Float:x, Float:y, Float:z);
|
|
native physics_torque_impulse (part_id, Float:x, Float:y, Float:z);
|
|
|
|
native physics_torque (part_id, Float:x, Float:y, Float:z);
|
|
native physics_get_torques (part_id, &Float:x, &Float:y, &Float:z);
|
|
native physics_force (part_id, Float:x, Float:y, Float:z);
|
|
native physics_get_forces (part_id, &Float:x, &Float:y, &Float:z);
|
|
native physics_clear_forces (part_id);
|
|
|
|
native physics_set_velocity (part_id, Float:x, Float:y, Float:z);
|
|
native physics_get_velocity (part_id, &Float:x, &Float:y, &Float:z);
|
|
native physics_set_ang_velocity (part_id, Float:x, Float:y, Float:z);
|
|
native physics_get_ang_velocity (part_id, &Float:x, &Float:y, &Float:z);
|
|
native physics_stop (part_id);
|
|
|
|
native physics_set_rotation (part_id, Float:w, Float:x, Float:y, Float:z);
|
|
native physics_get_rotation (part_id, &Float:w, &Float:x, &Float:y, &Float:z);
|
|
|
|
enum Anim_Param
|
|
{
|
|
LIN = 1,
|
|
LINEAR = 1,
|
|
SIN = 2,
|
|
SINUSOIDAL = 2,
|
|
ACCEL = 3,
|
|
ACCELERATE = 3,
|
|
DECEL = 4,
|
|
DECELERATE = 4,
|
|
ACCEL_FAC = 5,
|
|
ACCELERATE_FACTOR = 5,
|
|
DECEL_FAC = 6,
|
|
DECELERATE_FACTOR = 6,
|
|
SIN_FAC = 7,
|
|
SINUSOIDAL_FACTOR = 7,
|
|
DIVIS = 8,
|
|
DIVISOR_INTERP = 8,
|
|
BOUNCE = 9,
|
|
SPRING = 10,
|
|
CUBIC_BEZIER = 11,
|
|
};
|
|
|
|
native set_tween_state_anim (part_id, state1[], Float:state1_val, state2[], Float:state2_val, Anim_Param:p, Float:tween, ...);
|
|
native set_state_anim (part_id, state[], Float:state1_val, Anim_Param:p, Float:tween, ...);
|