From fb0eb28ab5dd8123f4b695a68904b87ee758e460 Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Thu, 5 Aug 2010 08:23:59 +0000 Subject: [PATCH] remember to set src data too SVN revision: 50830 --- src/bin/e_test.c | 35 ++++++++++++++++++++++++++++------- src/modules/comp/e_mod_comp.c | 14 +++++--------- 2 files changed, 33 insertions(+), 16 deletions(-) diff --git a/src/bin/e_test.c b/src/bin/e_test.c index 729e99672..fb30d8034 100644 --- a/src/bin/e_test.c +++ b/src/bin/e_test.c @@ -867,27 +867,48 @@ _e_test_internal(E_Container *con) } #elif 0 - static void delorig(void *data, Evas *e, Evas_Object *obj, void *event_info) { evas_object_del(data); } +static void +movorig(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Evas_Coord x, y; + evas_object_geometry_get(obj, &x, &y, NULL, NULL); + evas_object_move(data, x, y); +} + +static void +reszorig(void *data, Evas *e, Evas_Object *obj, void *event_info) +{ + Evas_Coord w, h; + evas_object_geometry_get(obj, NULL, NULL, &w, &h); + evas_object_resize(data, w / 8, h / 8); +} + static void newwin(Evas *e, E_Manager *man, E_Manager_Comp_Source *src) { Evas_Object *o, *orig; + Evas_Coord x, y, w, h; if (!e_manager_comp_src_image_get(man, src)) return; - printf("newwin %p | %p\n", man, src); - orig = e_manager_comp_src_image_get(man, src); + + orig = e_manager_comp_src_shadow_get(man, src); o = e_manager_comp_src_image_mirror_add(man, src); - evas_object_move(o, rand() & 0x1ff, 0); - evas_object_resize(o, 48, 48); - evas_object_color_set(o, 128, 128, 128, 128); - evas_object_show(o); + evas_object_color_set(o, 200, 200, 200, 200); evas_object_event_callback_add(orig, EVAS_CALLBACK_DEL, delorig, o); + evas_object_event_callback_add(orig, EVAS_CALLBACK_MOVE, movorig, o); + evas_object_event_callback_add(orig, EVAS_CALLBACK_RESIZE, reszorig, o); + evas_object_geometry_get(orig, &x, &y, &w, &h); + + evas_object_move(o, x, y); + evas_object_resize(o, w / 8, h / 8); + + evas_object_show(o); e_manager_comp_evas_update(man); } diff --git a/src/modules/comp/e_mod_comp.c b/src/modules/comp/e_mod_comp.c index df3910449..09119185c 100644 --- a/src/modules/comp/e_mod_comp.c +++ b/src/modules/comp/e_mod_comp.c @@ -1444,10 +1444,6 @@ _e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win) else if (cw->pop) evas_object_data_set(cw->shobj, "popup", cw->pop); else if (cw->menu) evas_object_data_set(cw->shobj, "menu", cw->menu); - evas_object_data_set(cw->shobj, "win", - (void *)((unsigned long)cw->win)); - - evas_object_pass_events_set(cw->shobj, 1); evas_object_pass_events_set(cw->obj, 1); cw->pending_count++; @@ -1459,12 +1455,12 @@ _e_mod_comp_win_add(E_Comp *c, Ecore_X_Window win) { cw->shobj = evas_object_rectangle_add(c->evas); evas_object_color_set(cw->shobj, 0, 0, 0, 0); - - evas_object_data_set(cw->shobj, "win", - (void *)((unsigned long)cw->win)); - - evas_object_pass_events_set(cw->shobj, 1); } + evas_object_pass_events_set(cw->shobj, 1); + evas_object_data_set(cw->shobj, "win", + (void *)((unsigned long)cw->win)); + evas_object_data_set(cw->shobj, "src", cw); + c->wins_invalid = 1; c->wins = eina_inlist_append(c->wins, EINA_INLIST_GET(cw)); cw->up = e_mod_comp_update_new();