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);
}
#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.impulse.y = parse_float(2);
ep->physics.impulse.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);
ep->physics.x = parse_float(1);
ep->physics.y = parse_float(2);
ep->physics.z = parse_float(3);
}
#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);
#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.impulse.y", physics.impulse.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.x", physics.x, 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.z", physics.z, EET_T_DOUBLE);
#endif
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;
#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 {
double x;
double y;
double z;
} impulse;
double x;
double y;
double z;
} physics;
#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];
if ((rp) && (rp->body))
ephysics_body_central_impulse_apply(
rp->body, pr->physics.impulse.x, pr->physics.impulse.y,
pr->physics.impulse.z);
rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
}
}
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];
if ((rp) && (rp->body))
ephysics_body_torque_impulse_apply(
rp->body, pr->physics.impulse.x, pr->physics.impulse.y,
pr->physics.impulse.z);
rp->body, pr->physics.x, pr->physics.y, pr->physics.z);
}
}
break;