Changeset View
Changeset View
Standalone View
Standalone View
src/examples/ephysics/test_velocity.c
Show All 10 Lines | 9 | struct _Velocity_Data { | |||
---|---|---|---|---|---|
11 | EPhysics_Body *body; | 11 | EPhysics_Body *body; | ||
12 | double old_vx; | 12 | double old_vx; | ||
13 | double old_vy; | 13 | double old_vy; | ||
14 | double old_vaz; | 14 | double old_vaz; | ||
15 | double last_time; | 15 | double last_time; | ||
16 | }; | 16 | }; | ||
17 | 17 | | |||
18 | static Eina_Bool | 18 | static Eina_Bool | ||
19 | _on_keydown(void *data, Evas_Object *obj __UNUSED__, Evas_Object *src __UNUSED__, Evas_Callback_Type type, void *event_info) | 19 | _on_keydown(void *data, Evas_Object *obj EINA_UNUSED, Evas_Object *src EINA_UNUSED, Evas_Callback_Type type, void *event_info) | ||
20 | { | 20 | { | ||
21 | Evas_Event_Key_Down *ev = event_info; | 21 | Evas_Event_Key_Down *ev = event_info; | ||
22 | EPhysics_Body *body = data; | 22 | EPhysics_Body *body = data; | ||
23 | 23 | | |||
24 | if (type != EVAS_CALLBACK_KEY_UP) | 24 | if (type != EVAS_CALLBACK_KEY_UP) | ||
25 | return EINA_FALSE; | 25 | return EINA_FALSE; | ||
26 | 26 | | |||
27 | if (strcmp(ev->key, "Up") == 0) | 27 | if (strcmp(ev->key, "Up") == 0) | ||
28 | ephysics_body_central_impulse_apply(body, 0, -300, 0); | 28 | ephysics_body_central_impulse_apply(body, 0, -300, 0); | ||
29 | else if (strcmp(ev->key, "Down") == 0) | 29 | else if (strcmp(ev->key, "Down") == 0) | ||
30 | ephysics_body_central_impulse_apply(body, 0, 300, 0); | 30 | ephysics_body_central_impulse_apply(body, 0, 300, 0); | ||
31 | else if (strcmp(ev->key, "Right") == 0) | 31 | else if (strcmp(ev->key, "Right") == 0) | ||
32 | ephysics_body_central_impulse_apply(body, 300, 0, 0); | 32 | ephysics_body_central_impulse_apply(body, 300, 0, 0); | ||
33 | else if (strcmp(ev->key, "Left") == 0) | 33 | else if (strcmp(ev->key, "Left") == 0) | ||
34 | ephysics_body_central_impulse_apply(body, -300, 0, 0); | 34 | ephysics_body_central_impulse_apply(body, -300, 0, 0); | ||
35 | 35 | | |||
36 | return EINA_TRUE; | 36 | return EINA_TRUE; | ||
37 | } | 37 | } | ||
38 | 38 | | |||
39 | static void | 39 | static void | ||
40 | _update_vel_cb(void *data, EPhysics_Body *body, void *event_info __UNUSED__) | 40 | _update_vel_cb(void *data, EPhysics_Body *body, void *event_info EINA_UNUSED) | ||
41 | { | 41 | { | ||
42 | Velocity_Data *velocity_data = data; | 42 | Velocity_Data *velocity_data = data; | ||
43 | Eina_Bool first_call = EINA_FALSE; | 43 | Eina_Bool first_call = EINA_FALSE; | ||
44 | double vx, vy, ax, ay, vaz, aaz; | 44 | double vx, vy, ax, ay, vaz, aaz; | ||
45 | double time_now, delta_time; | 45 | double time_now, delta_time; | ||
46 | char buff[64]; | 46 | char buff[64]; | ||
47 | 47 | | |||
48 | if (!velocity_data->last_time) | 48 | if (!velocity_data->last_time) | ||
▲ Show 20 Lines • Show All 70 Lines • ▼ Show 20 Line(s) | 87 | { | |||
119 | ephysics_body_event_callback_add(sphere_body, EPHYSICS_CALLBACK_BODY_STOPPED, | 119 | ephysics_body_event_callback_add(sphere_body, EPHYSICS_CALLBACK_BODY_STOPPED, | ||
120 | _update_vel_cb, velocity_data); | 120 | _update_vel_cb, velocity_data); | ||
121 | velocity_data->base.bodies = eina_list_append(velocity_data->base.bodies, | 121 | velocity_data->base.bodies = eina_list_append(velocity_data->base.bodies, | ||
122 | sphere_body); | 122 | sphere_body); | ||
123 | velocity_data->body = sphere_body; | 123 | velocity_data->body = sphere_body; | ||
124 | } | 124 | } | ||
125 | 125 | | |||
126 | static void | 126 | static void | ||
127 | _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED__, const char *source __UNUSED__) | 127 | _restart(void *data, Evas_Object *obj EINA_UNUSED, const char *emission EINA_UNUSED, const char *source EINA_UNUSED) | ||
128 | { | 128 | { | ||
129 | Velocity_Data *velocity_data = data; | 129 | Velocity_Data *velocity_data = data; | ||
130 | 130 | | |||
131 | elm_object_event_callback_del(velocity_data->base.win, _on_keydown, | 131 | elm_object_event_callback_del(velocity_data->base.win, _on_keydown, | ||
132 | velocity_data->body); | 132 | velocity_data->body); | ||
133 | 133 | | |||
134 | DBG("Restart pressed"); | 134 | DBG("Restart pressed"); | ||
135 | test_clean((Test_Data *)velocity_data); | 135 | test_clean((Test_Data *)velocity_data); | ||
136 | _world_populate(velocity_data); | 136 | _world_populate(velocity_data); | ||
137 | velocity_data->old_vx = 0; | 137 | velocity_data->old_vx = 0; | ||
138 | velocity_data->old_vy = 0; | 138 | velocity_data->old_vy = 0; | ||
139 | velocity_data->old_vaz = 0; | 139 | velocity_data->old_vaz = 0; | ||
140 | velocity_data->last_time = 0; | 140 | velocity_data->last_time = 0; | ||
141 | 141 | | |||
142 | elm_object_event_callback_add(velocity_data->base.win, _on_keydown, | 142 | elm_object_event_callback_add(velocity_data->base.win, _on_keydown, | ||
143 | velocity_data->body); | 143 | velocity_data->body); | ||
144 | } | 144 | } | ||
145 | 145 | | |||
146 | static void | 146 | static void | ||
147 | _win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | 147 | _win_del(void *data, Evas *e EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) | ||
148 | { | 148 | { | ||
149 | Velocity_Data *velocity_data = data; | 149 | Velocity_Data *velocity_data = data; | ||
150 | 150 | | |||
151 | test_clean((Test_Data *)velocity_data); | 151 | test_clean((Test_Data *)velocity_data); | ||
152 | evas_object_del(velocity_data->base.layout); | 152 | evas_object_del(velocity_data->base.layout); | ||
153 | ephysics_world_del(velocity_data->base.world); | 153 | ephysics_world_del(velocity_data->base.world); | ||
154 | free(velocity_data); | 154 | free(velocity_data); | ||
155 | ephysics_shutdown(); | 155 | ephysics_shutdown(); | ||
156 | } | 156 | } | ||
157 | 157 | | |||
158 | void | 158 | void | ||
159 | test_velocity(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__) | 159 | test_velocity(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) | ||
160 | { | 160 | { | ||
161 | Velocity_Data *velocity_data; | 161 | Velocity_Data *velocity_data; | ||
162 | EPhysics_Body *boundary; | 162 | EPhysics_Body *boundary; | ||
163 | EPhysics_World *world; | 163 | EPhysics_World *world; | ||
164 | 164 | | |||
165 | if (!ephysics_init()) | 165 | if (!ephysics_init()) | ||
166 | return; | 166 | return; | ||
167 | 167 | | |||
▲ Show 20 Lines • Show All 44 Lines • Show Last 20 Lines |