edje: remove impulse member of edje program
authorBruno Dilly <bdilly@profusion.mobi>
Thu, 6 Dec 2012 19:19:53 +0000 (19:19 +0000)
committerBruno Dilly <bdilly@profusion.mobi>
Thu, 6 Dec 2012 19:19:53 +0000 (19:19 +0000)
Most of the programs related to physics will use 3 vector
components (double). Let's share them.

SVN revision: 80380

legacy/edje/src/bin/edje_cc_handlers.c
legacy/edje/src/lib/edje_data.c
legacy/edje/src/lib/edje_private.h
legacy/edje/src/lib/edje_program.c

index 9a8fa21..15f2ae7 100644 (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
 
index f6a000e..75b02fc 100644 (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);
index 40e80c3..efe05e3 100644 (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
 
index 7d817ce..b9962a8 100644 (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;