edje: remove impulse member of edje program

Most of the programs related to physics will use 3 vector
components (double). Let's share them.



SVN revision: 80380
This commit is contained in:
Bruno Dilly 2012-12-06 19:19:53 +00:00
parent de5dac1a09
commit 70068d16a3
4 changed files with 14 additions and 23 deletions

View File

@ -8161,17 +8161,12 @@ st_collections_group_programs_program_action(void)
free(part); free(part);
} }
#ifdef HAVE_EPHYSICS #ifdef HAVE_EPHYSICS
else if (ep->action == EDJE_ACTION_TYPE_PHYSICS_IMPULSE) else if ((ep->action == EDJE_ACTION_TYPE_PHYSICS_IMPULSE) ||
(ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE))
{ {
ep->physics.impulse.x = parse_float(1); ep->physics.x = parse_float(1);
ep->physics.impulse.y = parse_float(2); ep->physics.y = parse_float(2);
ep->physics.impulse.z = parse_float(3); ep->physics.z = parse_float(3);
}
else if (ep->action == EDJE_ACTION_TYPE_PHYSICS_TORQUE_IMPULSE)
{
ep->physics.impulse.x = parse_float(1);
ep->physics.impulse.y = parse_float(2);
ep->physics.impulse.z = parse_float(3);
} }
#endif #endif

View File

@ -438,9 +438,9 @@ _edje_edd_init(void)
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "param.dst", param.dst, EET_T_INT);
#ifdef HAVE_EPHYSICS #ifdef HAVE_EPHYSICS
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.impulse.x", physics.impulse.x, EET_T_DOUBLE); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.x", physics.x, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.impulse.y", physics.impulse.y, EET_T_DOUBLE); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.y", physics.y, EET_T_DOUBLE);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.impulse.z", physics.impulse.z, EET_T_DOUBLE); EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_program, Edje_Program, "physics.z", physics.z, EET_T_DOUBLE);
#endif #endif
EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id); EET_EINA_FILE_DATA_DESCRIPTOR_CLASS_SET(&eddc, Edje_Part_Image_Id);

View File

@ -647,13 +647,11 @@ struct _Edje_Program /* a conditional program to be run */
} param; } param;
#ifdef HAVE_EPHYSICS #ifdef HAVE_EPHYSICS
/* used for actions related to physics, as PHYSICS_IMPULSE */ /* used for actions related to physics, as physics impulses and forces */
struct { struct {
struct { double x;
double x; double y;
double y; double z;
double z;
} impulse;
} physics; } physics;
#endif #endif

View File

@ -944,8 +944,7 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig,
rp = ed->table_parts[pt->id % ed->table_parts_size]; rp = ed->table_parts[pt->id % ed->table_parts_size];
if ((rp) && (rp->body)) if ((rp) && (rp->body))
ephysics_body_central_impulse_apply( ephysics_body_central_impulse_apply(
rp->body, pr->physics.impulse.x, pr->physics.impulse.y, rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
pr->physics.impulse.z);
} }
} }
break; break;
@ -959,8 +958,7 @@ _edje_program_run(Edje *ed, Edje_Program *pr, Eina_Bool force, const char *ssig,
rp = ed->table_parts[pt->id % ed->table_parts_size]; rp = ed->table_parts[pt->id % ed->table_parts_size];
if ((rp) && (rp->body)) if ((rp) && (rp->body))
ephysics_body_torque_impulse_apply( ephysics_body_torque_impulse_apply(
rp->body, pr->physics.impulse.x, pr->physics.impulse.y, rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
pr->physics.impulse.z);
} }
} }
break; break;