efl/data/edje/include/edje.inc

333 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, ...);
native swallow_has_content (part_id);