ephysics: delete all worlds on exit

sure, it won't work until externals init / shutdown mess is fixed.



SVN revision: 77458
This commit is contained in:
Bruno Dilly 2012-10-04 22:38:58 +00:00
parent 6181303ab5
commit 7b7bef6087
9 changed files with 28 additions and 26 deletions

View File

@ -72,7 +72,7 @@ _win_del(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __
}
static void
_subwin_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_subwin_del_cb(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
test_data_del(data);
ephysics_shutdown();
@ -157,8 +157,8 @@ test_win_add(Test_Data *test_data, const char *title, Eina_Bool autodel)
evas_object_show(win);
test_data->win = win;
if (autodel)
evas_object_smart_callback_add(win, "delete,request", _subwin_del,
test_data);
evas_object_event_callback_add(win, EVAS_CALLBACK_DEL,
_subwin_del_cb, test_data);
ly = elm_layout_add(win);
elm_win_resize_object_add(win, ly);
@ -196,6 +196,7 @@ _main_win_add(char *autorun)
win = elm_win_add(NULL, "main", ELM_WIN_BASIC);
elm_win_title_set(win, "EPhysics Tests");
evas_object_smart_callback_add(win, "delete,request", _win_del, NULL);
elm_win_autodel_set(win, EINA_TRUE);
evas_object_resize(win, 460, 560);
evas_object_show(win);

View File

@ -137,7 +137,7 @@ _world_populate(Camera_Data *camera_data)
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Camera_Data *camera_data = data;
@ -196,7 +196,7 @@ test_camera(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
}
test_win_add((Test_Data *)camera_data, "Camera", EINA_FALSE);
evas_object_smart_callback_add(camera_data->base.win, "delete,request",
evas_object_event_callback_add(camera_data->base.win, EVAS_CALLBACK_DEL,
_win_del, camera_data);
elm_layout_signal_callback_add(camera_data->base.layout, "restart",

View File

@ -161,7 +161,7 @@ _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED_
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Track_Data *track_data = data;
@ -192,8 +192,8 @@ test_camera_track(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *even
}
test_win_add((Test_Data *) track_data, "Camera Track", EINA_FALSE);
evas_object_smart_callback_add(track_data->base.win,
"delete,request", _win_del, track_data);
evas_object_event_callback_add(track_data->base.win, EVAS_CALLBACK_DEL,
_win_del, track_data);
elm_layout_signal_callback_add(track_data->base.layout, "restart",
"test-theme", _restart, track_data);

View File

@ -127,7 +127,7 @@ _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED_
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Collision_Data *collision_data = data;
@ -159,8 +159,8 @@ test_collision(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_i
test_win_add((Test_Data *)collision_data, "Collision Detection", EINA_FALSE);
elm_object_signal_emit(collision_data->base.layout, "borders,show",
"ephysics_test");
evas_object_smart_callback_add(collision_data->base.win,
"delete,request", _win_del, collision_data);
evas_object_event_callback_add(collision_data->base.win, EVAS_CALLBACK_DEL,
_win_del, collision_data);
elm_layout_signal_callback_add(collision_data->base.layout, "restart",
"test-theme", _restart, collision_data);

View File

@ -72,7 +72,7 @@ _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED_
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Speed_Data *speed_data = data;
@ -106,8 +106,8 @@ test_collision_speed(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *e
EINA_FALSE);
elm_object_signal_emit(speed_data->base.layout, "borders,show",
"ephysics_test");
evas_object_smart_callback_add(speed_data->base.win,
"delete,request", _win_del, speed_data);
evas_object_event_callback_add(speed_data->base.win, EVAS_CALLBACK_DEL,
_win_del, speed_data);
elm_layout_signal_callback_add(speed_data->base.layout, "restart",
"test-theme", _restart, speed_data);

View File

@ -135,7 +135,7 @@ _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED_
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Collision_Data *collision_data = data;
@ -165,8 +165,8 @@ test_delete(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info
}
test_win_add((Test_Data *)collision_data, "Delete Body", EINA_FALSE);
evas_object_smart_callback_add(collision_data->base.win,
"delete,request", _win_del, collision_data);
evas_object_event_callback_add(collision_data->base.win, EVAS_CALLBACK_DEL,
_win_del, collision_data);
elm_object_signal_emit(collision_data->base.layout, "borders,show",
"ephysics_test");
elm_layout_signal_callback_add(collision_data->base.layout, "restart",

View File

@ -58,7 +58,7 @@ _world_populate(Test_Data *test_data)
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Test_Data *test_data = data;
Ecore_Timer *timer = test_data->data;
@ -96,8 +96,8 @@ test_growing_balls(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *eve
test_data = test_data_new();
test_win_add(test_data, "Growing Balls", EINA_FALSE);
evas_object_smart_callback_add(test_data->win, "delete,request", _win_del,
test_data);
evas_object_event_callback_add(test_data->win, EVAS_CALLBACK_DEL,
_win_del, test_data);
elm_object_signal_emit(test_data->layout, "borders,show", "ephysics_test");
elm_layout_signal_callback_add(test_data->layout, "restart", "test-theme",

View File

@ -138,7 +138,7 @@ _restart(void *data, Evas_Object *obj __UNUSED__, const char *emission __UNUSED_
}
static void
_win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
Velocity_Data *velocity_data = data;
@ -148,6 +148,7 @@ _win_del(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
free(velocity_data);
ephysics_shutdown();
}
void
test_velocity(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
@ -167,8 +168,8 @@ test_velocity(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_in
}
test_win_add((Test_Data *)velocity_data, "Velocity Getters", EINA_FALSE);
evas_object_smart_callback_add(velocity_data->base.win,
"delete,request", _win_del, velocity_data);
evas_object_event_callback_add(velocity_data->base.win, EVAS_CALLBACK_DEL,
_win_del, velocity_data);
elm_layout_signal_callback_add(velocity_data->base.layout, "restart",
"test-theme", _restart, velocity_data);

View File

@ -12,7 +12,7 @@ struct _Old_Rate {
};
static void
_del_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
_win_del(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
{
free(data);
}
@ -175,8 +175,8 @@ test_win_resize(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_
evas_object_size_hint_weight_set(test_data->layout, EVAS_HINT_EXPAND,
EVAS_HINT_EXPAND);
elm_win_aspect_set(test_data->win, (double) WIDTH / HEIGHT);
evas_object_smart_callback_add(test_data->win, "delete,request", _del_cb,
test_data->data);
evas_object_event_callback_add(test_data->win, EVAS_CALLBACK_DEL,
_win_del, test_data->data);
world = ephysics_world_new();
ephysics_world_render_geometry_set(world, 50, 40, WIDTH - 100, FLOOR_Y - 40);