diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c index 661831caf..24f410671 100644 --- a/src/bin/e_comp.c +++ b/src/bin/e_comp.c @@ -6,7 +6,7 @@ #define ACTION_TIMEOUT 30.0 #define OVER_FLOW 1 //#define SHAPE_DEBUG - +//#define BORDER_ZOOMAPS ////////////////////////////////////////////////////////////////////////// // // TODO (no specific order): @@ -1849,7 +1849,11 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw) if (reshadow) { if (!cw->bd) return; +#ifdef BORDER_ZOOMAPS + if (cw->bd->bg_object && (e_zoomap_child_get(cw->zoomobj) == cw->bd->bg_object)) +#else if (cw->bd->bg_object && (edje_object_part_swallow_get(cw->shobj, "e.swallow.content") == cw->bd->bg_object)) +#endif return; } if (_e_comp_win_do_shadow(cw) && (!no_shadow)) @@ -1873,16 +1877,26 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw) else edje_object_signal_emit(cw->shobj, "e,state,visible,off", "e"); - if (cw->eobj) e_zoomap_child_set(cw->zoomobj, NULL); +#ifndef BORDER_ZOOMAPS + if (cw->eobj) +#endif + e_zoomap_child_set(cw->zoomobj, NULL); if (cw->bd && cw->bd->bg_object) { edje_object_part_swallow(cw->bd->bg_object, "e.swallow.client", cw->obj); +#ifdef BORDER_ZOOMAPS + e_zoomap_child_set(cw->zoomobj, cw->bd->bg_object); +#else edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->bd->bg_object); +#endif no_shadow = 1; } else { if (cw->bd) no_shadow = 1; +#ifdef BORDER_ZOOMAPS + e_zoomap_child_set(cw->zoomobj, cw->obj); +#else if (cw->zoomobj) { e_zoomap_child_set(cw->zoomobj, cw->obj); @@ -1890,9 +1904,17 @@ _e_comp_win_shadow_setup(E_Comp_Win *cw) } else edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj); +#endif } - if (cw->eobj) + if (cw->eobj +#ifdef BORDER_ZOOMAPS + || cw->bd +#endif + ) e_zoomap_child_edje_solid_setup(cw->zoomobj); +#ifdef BORDER_ZOOMAPS + edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->zoomobj); +#endif if (!cw->visible) return; if (!cw->animating) @@ -2189,8 +2211,10 @@ _e_comp_win_add(E_Comp *c, Ecore_X_Window win, E_Border *bd) cw->effect_obj = edje_object_add(c->evas); e_theme_edje_object_set(cw->effect_obj, "base/theme/comp", "e/comp/effects/none"); cw->shobj = edje_object_add(c->evas); - //cw->zoomobj = e_zoomap_add(c->evas); - //e_zoomap_smooth_set(cw->zoomobj, conf->smooth_windows); +#ifdef BORDER_ZOOMAPS + cw->zoomobj = e_zoomap_add(c->evas); + e_zoomap_smooth_set(cw->zoomobj, conf->smooth_windows); +#endif cw->obj = evas_object_image_filled_add(c->evas); evas_object_image_colorspace_set(cw->obj, EVAS_COLORSPACE_ARGB8888); if (cw->argb) evas_object_image_alpha_set(cw->obj, 1); @@ -2225,13 +2249,17 @@ _e_comp_win_add(E_Comp *c, Ecore_X_Window win, E_Border *bd) { evas_object_data_set(cw->shobj, "border", cw->bd); evas_object_data_set(cw->effect_obj, "border", cw->bd); - //evas_object_name_set(cw->zoomobj, "cw->zoomobj::BORDER"); +#ifdef BORDER_ZOOMAPS + evas_object_name_set(cw->zoomobj, "cw->zoomobj::BORDER"); +#endif evas_object_name_set(cw->shobj, "cw->shobj::BORDER"); evas_object_name_set(cw->effect_obj, "cw->effect_obj::BORDER"); } else { - //evas_object_name_set(cw->zoomobj, "cw->zoomobj::WINDOW"); +#ifdef BORDER_ZOOMAPS + evas_object_name_set(cw->zoomobj, "cw->zoomobj::WINDOW"); +#endif evas_object_name_set(cw->shobj, "cw->shobj::WINDOW"); evas_object_name_set(cw->effect_obj, "cw->effect_obj::WINDOW"); } @@ -3374,7 +3402,9 @@ _e_comp_bd_add(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) _e_comp_win_bd_setup(cw, ev->border); evas_object_data_set(cw->shobj, "border", cw->bd); evas_object_data_set(cw->effect_obj, "border", cw->bd); - //evas_object_name_set(cw->zoomobj, "cw->zoomobj::BORDER"); +#ifdef BORDER_ZOOMAPS + evas_object_name_set(cw->zoomobj, "cw->zoomobj::BORDER"); +#endif evas_object_name_set(cw->shobj, "cw->shobj::BORDER"); evas_object_name_set(cw->effect_obj, "cw->effect_obj::BORDER"); e_comp_win_reshadow(cw); @@ -3548,8 +3578,11 @@ _e_comp_bd_fullscreen(void *data EINA_UNUSED, int type EINA_UNUSED, void *event) if (!cw) return ECORE_CALLBACK_PASS_ON; e_comp_win_reshadow(cw); /* bd->bg_object deletion pending */ - //e_zoomap_child_set(cw->zoomobj, cw->obj); +#ifdef BORDER_ZOOMAPS + e_zoomap_child_set(cw->zoomobj, cw->obj); +#else edje_object_part_swallow(cw->shobj, "e.swallow.content", cw->obj); +#endif return ECORE_CALLBACK_PASS_ON; }