Some automatic migration and some manual adjustments to calc and text.

These file needed some manual adjustments in addition to the automatic
migration, that's why these are separate from the previous and next
commits, so I can easily know there are additional changes to these, and
it wasn't just the script.
This commit is contained in:
Tom Hacohen 2016-03-01 18:02:49 +00:00
parent 438e1db893
commit 3faf3f3fc6
2 changed files with 164 additions and 266 deletions

View File

@ -57,40 +57,35 @@ static void _edje_part_recalc_single(Edje *ed, Edje_Rea
\
eina_quaternion_scale(&quaternion, &quaternion, 1/norm); \
\
eo_do(ep->node, \
evas_canvas3d_node_orientation_set(quaternion.x, quaternion.y, \
quaternion.z, quaternion.w));
evas_canvas3d_node_orientation_set(ep->node, quaternion.x, quaternion.y, \
quaternion.z, quaternion.w);
#define SET_LOOK_AT(type) \
eo_do(ep->node, \
evas_canvas3d_node_look_at_set(pd_##type->type.position.space, \
pd_##type->type.orientation.data[0], \
pd_##type->type.orientation.data[1], \
pd_##type->type.orientation.data[2], \
pd_##type->type.position.space, \
pd_##type->type.orientation.data[3], \
pd_##type->type.orientation.data[4], \
pd_##type->type.orientation.data[5]));
evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, \
pd_##type->type.orientation.data[0], \
pd_##type->type.orientation.data[1], \
pd_##type->type.orientation.data[2], \
pd_##type->type.position.space, \
pd_##type->type.orientation.data[3], \
pd_##type->type.orientation.data[4], \
pd_##type->type.orientation.data[5]);
#define SET_LOOK_TO(type) \
Edje_Real_Part *look_to; \
Evas_Real x, y ,z; \
look_to = ed->table_parts[pd_##type->type.orientation.look_to % ed->table_parts_size]; \
eo_do(look_to->node, \
evas_canvas3d_node_position_get(pd_##type->type.position.space, &x, &y, &z)); \
eo_do(ep->node, \
evas_canvas3d_node_look_at_set(pd_##type->type.position.space, x, y, z, \
pd_##type->type.position.space, \
pd_##type->type.orientation.data[3], \
pd_##type->type.orientation.data[4], \
pd_##type->type.orientation.data[5]));
evas_canvas3d_node_position_get(look_to->node, pd_##type->type.position.space, &x, &y, &z); \
evas_canvas3d_node_look_at_set(ep->node, pd_##type->type.position.space, x, y, z, \
pd_##type->type.position.space, \
pd_##type->type.orientation.data[3], \
pd_##type->type.orientation.data[4], \
pd_##type->type.orientation.data[5]);
#define SET_ANGLE_AXIS(type) \
eo_do(ep->node, \
evas_canvas3d_node_orientation_angle_axis_set(pd_##type->type.orientation.data[0], \
pd_##type->type.orientation.data[1], \
pd_##type->type.orientation.data[2], \
pd_##type->type.orientation.data[3]));
evas_canvas3d_node_orientation_angle_axis_set(ep->node, pd_##type->type.orientation.data[0], \
pd_##type->type.orientation.data[1], \
pd_##type->type.orientation.data[2], \
pd_##type->type.orientation.data[3]);
void
@ -897,7 +892,7 @@ _edje_recalc_do(Edje *ed)
if (!ed->calc_only)
{
if (ed->recalc_call)
eo_do(ed->obj, eo_event_callback_call(EDJE_OBJECT_EVENT_RECALC, NULL));
eo_event_callback_call(ed->obj, EDJE_OBJECT_EVENT_RECALC, NULL);
}
else
evas_object_smart_need_recalculate_set(ed->obj, need_calc);
@ -909,8 +904,8 @@ _edje_recalc_do(Edje *ed)
ed->recalc_hints = EINA_FALSE;
eo_do(ed->obj, edje_obj_size_min_calc(&w, &h));
eo_do(ed->obj, evas_obj_size_hint_min_set(w, h));
edje_obj_size_min_calc(ed->obj, &w, &h);
evas_obj_size_hint_min_set(ed->obj, w, h);
}
if (!ed->collection) return;
@ -1489,9 +1484,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
double s = base_s;
if (ep->part->scale) base_s = TO_DOUBLE(sc);
eo_do(ep->object,
evas_obj_scale_set(base_s),
evas_obj_textblock_size_native_get(&tw, &th));
evas_obj_scale_set(ep->object, base_s);
evas_obj_textblock_size_native_get(ep->object, &tw, &th);
orig_s = base_s;
/* Now make it bigger so calculations will be more accurate
@ -1499,9 +1493,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
{
orig_s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s,
orig_s * TO_INT(params->eval.w) / tw);
eo_do(ep->object,
evas_obj_scale_set(orig_s),
evas_obj_textblock_size_native_get(&tw, &th));
evas_obj_scale_set(ep->object, orig_s);
evas_obj_textblock_size_native_get(ep->object, &tw, &th);
}
if (chosen_desc->text.fit_x)
{
@ -1509,9 +1502,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
{
s = _edje_part_recalc_single_textblock_scale_range_adjust(chosen_desc, base_s,
orig_s * TO_INT(params->eval.w) / tw);
eo_do(ep->object,
evas_obj_scale_set(s),
evas_obj_textblock_size_native_get(NULL, NULL));
evas_obj_scale_set(ep->object, s);
evas_obj_textblock_size_native_get(ep->object, NULL, NULL);
}
}
if (chosen_desc->text.fit_y)
@ -1527,9 +1519,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
s = tmp_s;
}
eo_do(ep->object,
evas_obj_scale_set(s),
evas_obj_textblock_size_native_get(NULL, NULL));
evas_obj_scale_set(ep->object, s);
evas_obj_textblock_size_native_get(ep->object, NULL, NULL);
}
}
@ -1538,8 +1529,7 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
{
int i = 5; /* Tries before we give up. */
Evas_Coord fw, fh;
eo_do(ep->object,
evas_obj_textblock_size_native_get(&fw, &fh));
evas_obj_textblock_size_native_get(ep->object, &fw, &fh);
/* If we are still too big, try reducing the size to
* 95% each try. */
@ -1554,9 +1544,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
break;
s = tmp_s;
eo_do(ep->object,
evas_obj_scale_set(s),
evas_obj_textblock_size_native_get(&fw, &fh));
evas_obj_scale_set(ep->object, s);
evas_obj_textblock_size_native_get(ep->object, &fw, &fh);
i--;
}
}
@ -1582,9 +1571,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
tw = th = 0;
if (!chosen_desc->text.min_x)
{
eo_do(ep->object,
efl_gfx_size_set(TO_INT(params->eval.w), TO_INT(params->eval.h)),
evas_obj_textblock_size_formatted_get(&tw, &th));
efl_gfx_size_set(ep->object, TO_INT(params->eval.w), TO_INT(params->eval.h));
evas_obj_textblock_size_formatted_get(ep->object, &tw, &th);
}
else
evas_object_textblock_size_native_get(ep->object, &tw, &th);
@ -1610,9 +1598,8 @@ _edje_part_recalc_single_textblock(FLOAT_T sc,
tw = th = 0;
if (!chosen_desc->text.max_x)
{
eo_do(ep->object,
efl_gfx_size_set(TO_INT(params->eval.w), TO_INT(params->eval.h)),
evas_obj_textblock_size_formatted_get(&tw, &th));
efl_gfx_size_set(ep->object, TO_INT(params->eval.w), TO_INT(params->eval.h));
evas_obj_textblock_size_formatted_get(ep->object, &tw, &th);
}
else
evas_object_textblock_size_native_get(ep->object, &tw, &th);
@ -1699,7 +1686,7 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
return;
// Note: No need to add padding to that, it's already in the geometry
eo_do(ep->object, efl_gfx_size_get(&mw, &mh));
efl_gfx_size_get(ep->object, &mw, &mh);
if (chosen_desc->text.max_x)
{
@ -1857,10 +1844,9 @@ _edje_part_recalc_single_text(FLOAT_T sc EINA_UNUSED,
[(ep->part->effect & EDJE_TEXT_EFFECT_MASK_SHADOW_DIRECTION) >> 4];
EVAS_TEXT_STYLE_SHADOW_DIRECTION_SET(style, shadow);
eo_do(ep->object,
evas_obj_text_style_set(style),
evas_obj_text_set(text),
efl_gfx_size_get(&tw, &th));
evas_obj_text_style_set(ep->object, style);
evas_obj_text_set(ep->object, text);
efl_gfx_size_get(ep->object, &tw, &th);
if (chosen_desc->text.max_x)
{
int l, r;
@ -2578,7 +2564,7 @@ _edje_part_recalc_single_filter(Edje *ed,
code = _edje_filter_get(ed, filter);
if (!code)
{
eo_do(obj, efl_gfx_filter_program_set(NULL, NULL));
efl_gfx_filter_program_set(obj, NULL, NULL);
return;
}
@ -2599,7 +2585,7 @@ _edje_part_recalc_single_filter(Edje *ed,
continue;
if (!data->value)
{
efl_gfx_filter_data_set(data->name, NULL, EINA_FALSE);
efl_gfx_filter_data_set(obj, data->name, NULL, EINA_FALSE);
}
else if (!strncmp(data->value, "color_class('", sizeof("color_class('") - 1))
{
@ -2629,7 +2615,7 @@ _edje_part_recalc_single_filter(Edje *ed,
(int) cc->r2, (int) cc->g2, (int) cc->b2, (int) cc->a2,
(int) cc->r3, (int) cc->g3, (int) cc->b3, (int) cc->a3);
buffer[len - 1] = 0;
efl_gfx_filter_data_set(data->name, buffer, EINA_TRUE);
efl_gfx_filter_data_set(obj, data->name, buffer, EINA_TRUE);
}
else
{
@ -2646,10 +2632,10 @@ _edje_part_recalc_single_filter(Edje *ed,
}
}
else
efl_gfx_filter_data_set(data->name, data->value, EINA_FALSE);
efl_gfx_filter_data_set(obj, data->name, data->value, EINA_FALSE);
}
}
efl_gfx_filter_program_set(code, filter->name);
efl_gfx_filter_program_set(obj, code, filter->name);
if (prev_sources != filter_sources)
{
/* remove sources that are not there anymore
@ -2669,7 +2655,7 @@ _edje_part_recalc_single_filter(Edje *ed,
{
part = strchr(src1, ':');
if (!part)
efl_gfx_filter_source_set(src1, NULL);
efl_gfx_filter_source_set(obj, src1, NULL);
else
{
char *name = strdup(src1);
@ -2693,20 +2679,20 @@ _edje_part_recalc_single_filter(Edje *ed,
else
part = src1;
rp = _edje_real_part_get(ed, part);
efl_gfx_filter_source_set(name ? name : part, rp ? rp->object : NULL);
efl_gfx_filter_source_set(obj, name ? name : part, rp ? rp->object : NULL);
free(name);
}
}
/* pass edje state for transitions */
if (ep->param2)
{
efl_gfx_filter_state_set(chosen_desc->state.name, chosen_desc->state.value,
efl_gfx_filter_state_set(obj, chosen_desc->state.name, chosen_desc->state.value,
ep->param2->description->state.name, ep->param2->description->state.value,
pos);
}
else
{
efl_gfx_filter_state_set(chosen_desc->state.name, chosen_desc->state.value,
efl_gfx_filter_state_set(obj, chosen_desc->state.name, chosen_desc->state.value,
NULL, 0.0, pos);
}
}
@ -2921,10 +2907,9 @@ _edje_part_recalc_single(Edje *ed,
{
Evas_Coord lminw = 0, lminh = 0;
eo_do(ep->object,
evas_obj_smart_need_recalculate_set(1),
evas_obj_smart_calculate(),
evas_obj_size_hint_min_get(&lminw, &lminh));
evas_obj_smart_need_recalculate_set(ep->object, 1);
evas_obj_smart_calculate(ep->object);
evas_obj_size_hint_min_get(ep->object, &lminw, &lminh);
if (((Edje_Part_Description_Table *)chosen_desc)->table.min.h)
{
if (lminw > minw) minw = lminw;
@ -2940,10 +2925,9 @@ _edje_part_recalc_single(Edje *ed,
{
Evas_Coord lminw = 0, lminh = 0;
eo_do(ep->object,
evas_obj_smart_need_recalculate_set(1),
evas_obj_smart_calculate(),
evas_obj_size_hint_min_get(&lminw, &lminh));
evas_obj_smart_need_recalculate_set(ep->object, 1);
evas_obj_smart_calculate(ep->object);
evas_obj_size_hint_min_get(ep->object, &lminw, &lminh);
if (((Edje_Part_Description_Box *)chosen_desc)->box.min.h)
{
if (lminw > minw) minw = lminw;
@ -3103,15 +3087,13 @@ _edje_table_recalc_apply(Edje *ed EINA_UNUSED,
Edje_Calc_Params *p3 EINA_UNUSED,
Edje_Part_Description_Table *chosen_desc)
{
eo_do(ep->object,
evas_obj_table_homogeneous_set(chosen_desc->table.homogeneous),
evas_obj_table_align_set(TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y)),
evas_obj_table_padding_set(chosen_desc->table.padding.x, chosen_desc->table.padding.y));
evas_obj_table_homogeneous_set(ep->object, chosen_desc->table.homogeneous);
evas_obj_table_align_set(ep->object, TO_DOUBLE(chosen_desc->table.align.x), TO_DOUBLE(chosen_desc->table.align.y));
evas_obj_table_padding_set(ep->object, chosen_desc->table.padding.x, chosen_desc->table.padding.y);
if (evas_object_smart_need_recalculate_get(ep->object))
{
eo_do(ep->object,
evas_obj_smart_need_recalculate_set(0),
evas_obj_smart_calculate());
evas_obj_smart_need_recalculate_set(ep->object, 0);
evas_obj_smart_calculate(ep->object);
}
}
@ -3173,14 +3155,10 @@ _edje_proxy_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
}
}
eo_do(ep->object,
efl_gfx_fill_set(p3->type.common.fill.x,
p3->type.common.fill.y,
p3->type.common.fill.w,
p3->type.common.fill.h),
efl_image_smooth_scale_set(p3->smooth),
evas_obj_image_source_visible_set(chosen_desc->proxy.source_visible),
evas_obj_image_source_clip_set(chosen_desc->proxy.source_clip));
efl_gfx_fill_set(ep->object, p3->type.common.fill.x, p3->type.common.fill.y, p3->type.common.fill.w, p3->type.common.fill.h);
efl_image_smooth_scale_set(ep->object, p3->smooth);
evas_obj_image_source_visible_set(ep->object, chosen_desc->proxy.source_visible);
evas_obj_image_source_clip_set(ep->object, chosen_desc->proxy.source_clip);
}
static void
@ -3214,10 +3192,8 @@ _edje_image_recalc_apply(Edje *ed, Edje_Real_Part *ep, Edje_Calc_Params *p3, Edj
SET_BORDER_DEFINED(p3->type.common.spec.image.border_scale_by, set->entry->border.scale_by);
}
eo_do(ep->object,
efl_gfx_fill_set(p3->type.common.fill.x, p3->type.common.fill.y,
p3->type.common.fill.w, p3->type.common.fill.h),
efl_image_smooth_scale_set(p3->smooth));
efl_gfx_fill_set(ep->object, p3->type.common.fill.x, p3->type.common.fill.y, p3->type.common.fill.w, p3->type.common.fill.h);
efl_image_smooth_scale_set(ep->object, p3->smooth);
if (chosen_desc->image.border.scale)
{
if (p3->type.common.spec.image.border_scale_by > FROM_DOUBLE(0.0))
@ -4609,8 +4585,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
case EDJE_PART_TYPE_EXTERNAL:
/* visibility and color have no meaning on SWALLOW and GROUP part. */
#ifdef HAVE_EPHYSICS
eo_do(ep->object,
efl_gfx_size_set(pf->final.w, pf->final.h));
efl_gfx_size_set(ep->object, pf->final.w, pf->final.h);
if ((ep->part->physics_body) && (!ep->body))
{
if (_edje_physics_world_geometry_check(ed->world))
@ -4627,19 +4602,16 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
_edje_physics_body_props_update(ed, ep, pf, !pf->physics->ignore_part_pos);
}
else
eo_do(ep->object,
efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y));
efl_gfx_position_set(ep->object, ed->x + pf->final.x, ed->y + pf->final.y);
#else
eo_do(ep->object,
efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y),
efl_gfx_size_set(pf->final.w, pf->final.h));
efl_gfx_position_set(ep->object, ed->x + pf->final.x, ed->y + pf->final.y);
efl_gfx_size_set(ep->object, pf->final.w, pf->final.h);
#endif
if (ep->nested_smart) /* Move, Resize all nested parts */
{ /* Not really needed but will improve the bounding box evaluation done by Evas */
eo_do(ep->nested_smart,
efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y),
efl_gfx_size_set(pf->final.w, pf->final.h));
efl_gfx_position_set(ep->nested_smart, ed->x + pf->final.x, ed->y + pf->final.y);
efl_gfx_size_set(ep->nested_smart, pf->final.w, pf->final.h);
}
if (ep->part->entry_mode > EDJE_ENTRY_EDIT_MODE_NONE)
_edje_entry_real_part_configure(ed, ep);
@ -4671,15 +4643,11 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
Edje_Part_Description_Camera *pd_camera;
pd_camera = (Edje_Part_Description_Camera*) ep->chosen_description;
eo_do(ep->node, camera = evas_canvas3d_node_camera_get());
camera = evas_canvas3d_node_camera_get(ep->node);
eo_do(camera,
evas_canvas3d_camera_projection_perspective_set(pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect,
pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far));
evas_canvas3d_camera_projection_perspective_set(camera, pd_camera->camera.camera.fovy, pd_camera->camera.camera.aspect, pd_camera->camera.camera.frustum_near, pd_camera->camera.camera.frustum_far);
eo_do(ep->node,
evas_canvas3d_node_position_set(pf->type.node.point.x, pf->type.node.point.y,
pf->type.node.point.z));
evas_canvas3d_node_position_set(ep->node, pf->type.node.point.x, pf->type.node.point.y, pf->type.node.point.z);
switch (pd_camera->camera.orientation.type)
{
case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
@ -4708,28 +4676,15 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
Edje_Part_Description_Light *pd_light;
pd_light = (Edje_Part_Description_Light*) ep->chosen_description;
eo_do(ep->node, light_node = evas_canvas3d_node_light_get());
light_node = evas_canvas3d_node_light_get(ep->node);
eo_do(light_node,
evas_canvas3d_light_ambient_set((float) pd_light->light.properties.ambient.r / 255,
(float) pd_light->light.properties.ambient.g / 255,
(float) pd_light->light.properties.ambient.b / 255,
(float) pd_light->light.properties.ambient.a / 255),
evas_canvas3d_light_diffuse_set((float) pd_light->light.properties.diffuse.r / 255,
(float) pd_light->light.properties.diffuse.g / 255,
(float) pd_light->light.properties.diffuse.b / 255,
(float) pd_light->light.properties.diffuse.a / 255),
evas_canvas3d_light_specular_set((float) pd_light->light.properties.specular.r / 255,
(float) pd_light->light.properties.specular.g / 255,
(float) pd_light->light.properties.specular.b / 255,
(float) pd_light->light.properties.specular.a / 255),
evas_canvas3d_light_directional_set(EINA_TRUE),
evas_canvas3d_light_projection_perspective_set(pd_light->light.light.fovy, pd_light->light.light.aspect,
pd_light->light.light.frustum_near, pd_light->light.light.frustum_far));
evas_canvas3d_light_ambient_set(light_node, (float) pd_light->light.properties.ambient.r / 255, (float) pd_light->light.properties.ambient.g / 255, (float) pd_light->light.properties.ambient.b / 255, (float) pd_light->light.properties.ambient.a / 255);
evas_canvas3d_light_diffuse_set(light_node, (float) pd_light->light.properties.diffuse.r / 255, (float) pd_light->light.properties.diffuse.g / 255, (float) pd_light->light.properties.diffuse.b / 255, (float) pd_light->light.properties.diffuse.a / 255);
evas_canvas3d_light_specular_set(light_node, (float) pd_light->light.properties.specular.r / 255, (float) pd_light->light.properties.specular.g / 255, (float) pd_light->light.properties.specular.b / 255, (float) pd_light->light.properties.specular.a / 255);
evas_canvas3d_light_directional_set(light_node, EINA_TRUE);
evas_canvas3d_light_projection_perspective_set(light_node, pd_light->light.light.fovy, pd_light->light.light.aspect, pd_light->light.light.frustum_near, pd_light->light.light.frustum_far);
eo_do(ep->node,
evas_canvas3d_node_position_set(pf->type.node.point.x, pf->type.node.point.y,
pf->type.node.point.z));
evas_canvas3d_node_position_set(ep->node, pf->type.node.point.x, pf->type.node.point.y, pf->type.node.point.z);
switch (pd_light->light.orientation.type)
{
case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
@ -4763,36 +4718,23 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
const Eina_List *list;
Eina_Bool frame_exist;
eo_do(ep->node, meshes = evas_canvas3d_node_mesh_list_get());
meshes = evas_canvas3d_node_mesh_list_get(ep->node);
EINA_LIST_FOREACH(meshes, list, mesh)
{
eo_do(mesh, material = evas_canvas3d_mesh_frame_material_get(0));
eo_do(material, texture = evas_canvas3d_material_texture_get(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE));
material = evas_canvas3d_mesh_frame_material_get(mesh, 0);
texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
pd_mesh_node = (Edje_Part_Description_Mesh_Node*) ep->chosen_description;
eo_do(material,
evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE),
evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE),
evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE),
evas_canvas3d_material_enable_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal),
evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT,
(float) pd_mesh_node->mesh_node.properties.ambient.r / 255,
(float) pd_mesh_node->mesh_node.properties.ambient.g / 255,
(float) pd_mesh_node->mesh_node.properties.ambient.b / 255,
(float) pd_mesh_node->mesh_node.properties.ambient.a / 255),
evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE,
(float) pd_mesh_node->mesh_node.properties.diffuse.r / 255,
(float) pd_mesh_node->mesh_node.properties.diffuse.g / 255,
(float) pd_mesh_node->mesh_node.properties.diffuse.b / 255,
(float) pd_mesh_node->mesh_node.properties.diffuse.a / 255),
evas_canvas3d_material_color_set(EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR,
(float) pd_mesh_node->mesh_node.properties.specular.r / 255,
(float) pd_mesh_node->mesh_node.properties.specular.g / 255,
(float) pd_mesh_node->mesh_node.properties.specular.b / 255,
(float) pd_mesh_node->mesh_node.properties.specular.a / 255),
evas_canvas3d_material_shininess_set(pd_mesh_node->mesh_node.properties.shininess));
evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, EINA_TRUE);
evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, EINA_TRUE);
evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, EINA_TRUE);
evas_canvas3d_material_enable_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_NORMAL, pd_mesh_node->mesh_node.properties.normal);
evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_AMBIENT, (float) pd_mesh_node->mesh_node.properties.ambient.r / 255, (float) pd_mesh_node->mesh_node.properties.ambient.g / 255, (float) pd_mesh_node->mesh_node.properties.ambient.b / 255, (float) pd_mesh_node->mesh_node.properties.ambient.a / 255);
evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE, (float) pd_mesh_node->mesh_node.properties.diffuse.r / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.g / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.b / 255, (float) pd_mesh_node->mesh_node.properties.diffuse.a / 255);
evas_canvas3d_material_color_set(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_SPECULAR, (float) pd_mesh_node->mesh_node.properties.specular.r / 255, (float) pd_mesh_node->mesh_node.properties.specular.g / 255, (float) pd_mesh_node->mesh_node.properties.specular.b / 255, (float) pd_mesh_node->mesh_node.properties.specular.a / 255);
evas_canvas3d_material_shininess_set(material, pd_mesh_node->mesh_node.properties.shininess);
switch(pd_mesh_node->mesh_node.mesh.primitive)
{
@ -4801,18 +4743,14 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
{
Eo *primitive = NULL;
primitive = eo_add(EVAS_CANVAS3D_PRIMITIVE_CLASS, ed->base->evas);
eo_do(primitive,
evas_canvas3d_primitive_form_set(pd_mesh_node->mesh_node.mesh.primitive));
evas_canvas3d_primitive_form_set(primitive, pd_mesh_node->mesh_node.mesh.primitive);
eo_do(mesh,
frame_exist = evas_canvas3d_mesh_frame_exist(pf->type.node.frame));
frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node.frame);
if (!frame_exist)
{
eo_do(mesh,
evas_canvas3d_mesh_frame_material_set(pf->type.node.frame, material));
evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node.frame, material);
}
eo_do(mesh,
evas_canvas3d_mesh_from_primitive_set(0, primitive));
evas_canvas3d_mesh_from_primitive_set(mesh, 0, primitive);
break;
}
default:
@ -4823,8 +4761,7 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
{
proxy = NULL;
eo_do(material,
texture = evas_canvas3d_material_texture_get(EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE));
texture = evas_canvas3d_material_texture_get(material, EVAS_CANVAS3D_MATERIAL_ATTRIB_DIFFUSE);
//proxy = _edje_image_name_find(ed, pd_mesh_node->mesh_node.texture.id);
/*FIXME Conflict with function _edje_image_name_find (two places in edje_utils and edje_edit.c,
@ -4832,31 +4769,21 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
proxy = ed->file->image_dir->entries[pd_mesh_node->mesh_node.texture.id].entry;
if (proxy)
{
eo_do(texture,
evas_canvas3d_texture_file_set(eina_stringshare_add(proxy), NULL),
evas_canvas3d_texture_filter_set(pd_mesh_node->mesh_node.texture.filter1,
pd_mesh_node->mesh_node.texture.filter2),
evas_canvas3d_texture_wrap_set(pd_mesh_node->mesh_node.texture.wrap1,
pd_mesh_node->mesh_node.texture.wrap2));
evas_canvas3d_texture_file_set(texture, eina_stringshare_add(proxy), NULL);
evas_canvas3d_texture_filter_set(texture, pd_mesh_node->mesh_node.texture.filter1, pd_mesh_node->mesh_node.texture.filter2);
evas_canvas3d_texture_wrap_set(texture, pd_mesh_node->mesh_node.texture.wrap1, pd_mesh_node->mesh_node.texture.wrap2);
}
}
eo_do(mesh,
frame_exist = evas_canvas3d_mesh_frame_exist(pf->type.node.frame));
frame_exist = evas_canvas3d_mesh_frame_exist(mesh, pf->type.node.frame);
if (!frame_exist)
eo_do(mesh,
evas_canvas3d_mesh_frame_add(pf->type.node.frame),
evas_canvas3d_mesh_frame_material_set(pf->type.node.frame, material));
eo_do(mesh,
evas_canvas3d_mesh_shade_mode_set(pd_mesh_node->mesh_node.properties.shade),
evas_canvas3d_mesh_vertex_assembly_set(pd_mesh_node->mesh_node.mesh.assembly));
eo_do(ep->node,
evas_canvas3d_node_mesh_frame_set(mesh, pf->type.node.frame),
evas_canvas3d_node_scale_set(pf->type.node.scale_3d.x, pf->type.node.scale_3d.y,
pf->type.node.scale_3d.z),
evas_canvas3d_node_position_set(pf->type.node.point.x,
pf->type.node.point.y,
pf->type.node.point.z));
evas_canvas3d_mesh_frame_add(mesh, pf->type.node.frame);
evas_canvas3d_mesh_frame_material_set(mesh, pf->type.node.frame, material);
evas_canvas3d_mesh_shade_mode_set(mesh, pd_mesh_node->mesh_node.properties.shade);
evas_canvas3d_mesh_vertex_assembly_set(mesh, pd_mesh_node->mesh_node.mesh.assembly);
evas_canvas3d_node_mesh_frame_set(ep->node, mesh, pf->type.node.frame);
evas_canvas3d_node_scale_set(ep->node, pf->type.node.scale_3d.x, pf->type.node.scale_3d.y, pf->type.node.scale_3d.z);
evas_canvas3d_node_position_set(ep->node, pf->type.node.point.x, pf->type.node.point.y, pf->type.node.point.z);
switch (pd_mesh_node->mesh_node.orientation.type)
{
case EVAS_CANVAS3D_NODE_ORIENTATION_TYPE_NONE:
@ -4943,10 +4870,9 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
if (ep->part->type == EDJE_PART_TYPE_GROUP)
vis = evas_object_visible_get(ed->obj);
eo_do(ep->typedata.swallow->swallowed_object,
efl_gfx_position_set(ed->x + pf->final.x, ed->y + pf->final.y),
efl_gfx_size_set(pf->final.w, pf->final.h),
efl_gfx_visible_set(vis));
efl_gfx_position_set(ep->typedata.swallow->swallowed_object, ed->x + pf->final.x, ed->y + pf->final.y);
efl_gfx_size_set(ep->typedata.swallow->swallowed_object, pf->final.w, pf->final.h);
efl_gfx_visible_set(ep->typedata.swallow->swallowed_object, vis);
}
else evas_object_hide(ep->typedata.swallow->swallowed_object);
mo = ep->typedata.swallow->swallowed_object;
@ -4969,9 +4895,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
else map_obj = mo;
if (map_obj)
{
eo_do(map_obj,
evas_obj_map_set(map),
evas_obj_map_enable_set(EINA_TRUE));
evas_obj_map_set(map_obj, map);
evas_obj_map_enable_set(map_obj, EINA_TRUE);
}
}
else
@ -4982,9 +4907,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
{
if (ep->nested_smart) /* Cancel map of smart obj holding nested parts */
{
eo_do(ep->nested_smart,
evas_obj_map_enable_set(EINA_FALSE),
evas_obj_map_set(NULL));
evas_obj_map_enable_set(ep->nested_smart, EINA_FALSE);
evas_obj_map_set(ep->nested_smart, NULL);
}
else
{
@ -4993,9 +4917,8 @@ _edje_part_recalc(Edje *ed, Edje_Real_Part *ep, int flags, Edje_Calc_Params *sta
{
#endif
if (mo)
eo_do(mo,
evas_obj_map_enable_set(0),
evas_obj_map_set(NULL));
evas_obj_map_enable_set(mo, 0);
evas_obj_map_set(mo, NULL);
#ifdef HAVE_EPHYSICS
}
#endif

View File

@ -19,7 +19,7 @@ static inline void
part_get_geometry(Edje_Real_Part *rp, Evas_Coord *w, Evas_Coord *h)
{
if (!rp->part->use_alternate_font_metrics)
eo_do(rp->object, efl_gfx_size_get(w, h));
efl_gfx_size_get(rp->object, w, h);
else
{
if (w) *w = evas_object_text_horiz_advance_get(rp->object);
@ -131,11 +131,10 @@ _edje_text_fit_x(Edje *ed, Edje_Real_Part *ep,
if (ep->part->scale) evas_object_scale_set(ep->object, TO_DOUBLE(sc));
eo_do(ep->object,
evas_obj_text_ellipsis_set(chosen_desc->text.min_x ? -1 : params->type.text.ellipsis),
efl_text_properties_font_set(font, size),
efl_text_set(text),
efl_gfx_size_set(sw, sh));
evas_obj_text_ellipsis_set(ep->object, chosen_desc->text.min_x ? -1 : params->type.text.ellipsis);
efl_text_properties_font_set(ep->object, font, size);
efl_text_set(ep->object, text);
efl_gfx_size_set(ep->object, sw, sh);
return text;
}
@ -321,13 +320,13 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
ep->typedata.text->cache.in_size = size;
if (chosen_desc->text.fit_x && (ep->typedata.text->cache.in_str && eina_stringshare_strlen(ep->typedata.text->cache.in_str) > 0))
{
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(font, size);
efl_text_set(text);
efl_text_properties_font_set(ep->object, font, size);
efl_text_set(ep->object, text);
part_get_geometry(ep, &tw, &th);
/* Find the wanted font size */
@ -335,12 +334,12 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
{
size = (size * sw) / tw;
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(font, size);
efl_text_properties_font_set(ep->object, font, size);
part_get_geometry(ep, &tw, &th);
}
@ -357,13 +356,13 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
*/
if (!chosen_desc->text.fit_x) size = sh;
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(font, size);
efl_text_set(text);
efl_text_properties_font_set(ep->object, font, size);
efl_text_set(ep->object, text);
part_get_geometry(ep, &tw, &th);
/* only grow the font size if we didn't already reach the max size
@ -380,11 +379,11 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
size += dif;
if (size <= 0) break;
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
efl_text_properties_font_set(font, size);
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(ep->object, font, size);
part_get_geometry(ep, &tw, &th);
if ((size > 0) && (th == 0)) break;
@ -395,8 +394,8 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
{
int current;
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
efl_text_properties_font_set(font, 10);
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(ep->object, font, 10);
part_get_geometry(ep, &tw, &th);
@ -417,8 +416,8 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
{
current = (top + bottom) / 2;
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
efl_text_properties_font_set(font, current);
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(ep->object, font, current);
part_get_geometry(ep, &tw, &th);
@ -433,8 +432,8 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
{
current++;
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
efl_text_properties_font_set(font, current);
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(ep->object, font, current);
part_get_geometry(ep, &tw, &th);
} while (th <= sh);
@ -454,8 +453,8 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
/* Handle ellipsis */
if (!chosen_desc->text.min_x)
{
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
text = _edje_text_fit_x(ed, ep, params, chosen_desc,
text, font, size,
@ -496,13 +495,13 @@ _edje_text_recalc_apply(Edje *ed, Edje_Real_Part *ep,
ep->typedata.text->cache.fit_y = chosen_desc->text.fit_y;
arrange_text:
if (inlined_font) efl_text_properties_font_source_set(ed->path);
else efl_text_properties_font_source_set(NULL);
if (inlined_font) efl_text_properties_font_source_set(ep->object, ed->path);
else efl_text_properties_font_source_set(ep->object, NULL);
if (ep->part->scale) evas_obj_scale_set(TO_DOUBLE(sc));
if (ep->part->scale) evas_obj_scale_set(ep->object, TO_DOUBLE(sc));
efl_text_properties_font_set(font, size);
efl_text_set(text);
efl_text_properties_font_set(ep->object, font, size);
efl_text_set(ep->object, text);
part_get_geometry(ep, &tw, &th);
/* Handle alignment */
@ -530,11 +529,8 @@ arrange_text:
if (!calc_only)
{
eo_do(ep->object,
efl_gfx_position_set(ed->x + TO_INT(params->eval.x) + ep->typedata.text->offset.x,
ed->y + TO_INT(params->eval.y) + ep->typedata.text->offset.y);
efl_gfx_visible_set(params->visible));
efl_gfx_position_set(ep->object, ed->x + TO_INT(params->eval.x) + ep->typedata.text->offset.x, ed->y + TO_INT(params->eval.y) + ep->typedata.text->offset.y);
efl_gfx_visible_set(ep->object, params->visible);
}
{
@ -594,28 +590,14 @@ arrange_text:
case EDJE_TEXT_EFFECT_OUTLINE_SHADOW:
style = EVAS_TEXT_STYLE_OUTLINE_SHADOW;
eo_do(ep->object,
evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
(params->type.text.color2.g * params->type.text.color2.a) / 255,
(params->type.text.color2.b * params->type.text.color2.a) / 255,
params->type.text.color2.a),
evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
(params->type.text.color3.g * params->type.text.color3.a) / 255,
(params->type.text.color3.b * params->type.text.color3.a) / 255,
params->type.text.color3.a));
evas_obj_text_outline_color_set(ep->object, (params->type.text.color2.r * params->type.text.color2.a) / 255, (params->type.text.color2.g * params->type.text.color2.a) / 255, (params->type.text.color2.b * params->type.text.color2.a) / 255, params->type.text.color2.a);
evas_obj_text_shadow_color_set(ep->object, (params->type.text.color3.r * params->type.text.color3.a) / 255, (params->type.text.color3.g * params->type.text.color3.a) / 255, (params->type.text.color3.b * params->type.text.color3.a) / 255, params->type.text.color3.a);
break;
case EDJE_TEXT_EFFECT_OUTLINE_SOFT_SHADOW:
style = EVAS_TEXT_STYLE_OUTLINE_SOFT_SHADOW;
eo_do(ep->object,
evas_obj_text_outline_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
(params->type.text.color2.g * params->type.text.color2.a) / 255,
(params->type.text.color2.b * params->type.text.color2.a) / 255,
params->type.text.color2.a),
evas_obj_text_shadow_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
(params->type.text.color3.g * params->type.text.color3.a) / 255,
(params->type.text.color3.b * params->type.text.color3.a) / 255,
params->type.text.color3.a));
evas_obj_text_outline_color_set(ep->object, (params->type.text.color2.r * params->type.text.color2.a) / 255, (params->type.text.color2.g * params->type.text.color2.a) / 255, (params->type.text.color2.b * params->type.text.color2.a) / 255, params->type.text.color2.a);
evas_obj_text_shadow_color_set(ep->object, (params->type.text.color3.r * params->type.text.color3.a) / 255, (params->type.text.color3.g * params->type.text.color3.a) / 255, (params->type.text.color3.b * params->type.text.color3.a) / 255, params->type.text.color3.a);
break;
case EDJE_TEXT_EFFECT_FAR_SHADOW:
@ -638,15 +620,8 @@ arrange_text:
case EDJE_TEXT_EFFECT_GLOW:
style = EVAS_TEXT_STYLE_GLOW;
eo_do(ep->object,
evas_obj_text_glow_color_set((params->type.text.color2.r * params->type.text.color2.a) / 255,
(params->type.text.color2.g * params->type.text.color2.a) / 255,
(params->type.text.color2.b * params->type.text.color2.a) / 255,
params->type.text.color2.a),
evas_obj_text_glow2_color_set((params->type.text.color3.r * params->type.text.color3.a) / 255,
(params->type.text.color3.g * params->type.text.color3.a) / 255,
(params->type.text.color3.b * params->type.text.color3.a) / 255,
params->type.text.color3.a));
evas_obj_text_glow_color_set(ep->object, (params->type.text.color2.r * params->type.text.color2.a) / 255, (params->type.text.color2.g * params->type.text.color2.a) / 255, (params->type.text.color2.b * params->type.text.color2.a) / 255, params->type.text.color2.a);
evas_obj_text_glow2_color_set(ep->object, (params->type.text.color3.r * params->type.text.color3.a) / 255, (params->type.text.color3.g * params->type.text.color3.a) / 255, (params->type.text.color3.b * params->type.text.color3.a) / 255, params->type.text.color3.a);
break;
default: