put zoomap shaped/solid edc stuff back for menus, let comp wins use it more generally
authorMike Blumenkrantz <m.blumenkran@samsung.com>
Wed, 17 Apr 2013 05:31:59 +0000 (06:31 +0100)
committerMike Blumenkrantz <m.blumenkran@samsung.com>
Wed, 17 Apr 2013 05:32:49 +0000 (06:32 +0100)
src/bin/e_comp.c
src/bin/e_menu.c
src/bin/e_menu.h

index 929834d..5ec7058 100644 (file)
@@ -1971,6 +1971,7 @@ _e_comp_win_dummy_add(E_Comp *c, Evas_Object *obj, E_Object *eobj, Eina_Bool nol
 {
    E_Comp_Win *cw;
    int x, y, w, h;
+   Eina_Bool solid = EINA_FALSE;
 
    cw = calloc(1, sizeof(E_Comp_Win));
    if (!cw) return NULL;
@@ -1992,6 +1993,7 @@ _e_comp_win_dummy_add(E_Comp *c, Evas_Object *obj, E_Object *eobj, Eina_Bool nol
              cw->shape = cw->menu->shape;
              cw->dfn = e_object_delfn_add(E_OBJECT(cw->menu), _e_comp_object_del, cw);
              cw->show_ready = cw->menu->cur.visible;
+             solid = cw->menu->solid;
              break;
            default:
              CRI("UNHANDLED");
@@ -2017,6 +2019,7 @@ _e_comp_win_dummy_add(E_Comp *c, Evas_Object *obj, E_Object *eobj, Eina_Bool nol
    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_solid_set(cw->zoomobj, solid);
    _e_comp_win_shadow_setup(cw);
    edje_object_part_swallow(cw->effect_obj, "e.swallow.content", cw->shobj);
 
index e333eb8..5644a87 100644 (file)
@@ -1704,7 +1704,14 @@ _e_menu_realize(E_Menu *m)
    evas_object_name_set(o, "menu->bg_object");
    evas_object_data_set(o, "e_menu", m);
    evas_object_data_set(o, "eobj", m);
-   e_theme_edje_object_set(o, "base/theme/menus", "e/widgets/menu/default/background");
+   if (e_theme_edje_object_set(o, "base/theme/menus", "e/widgets/menu/default/background"))
+     {
+        const char *s;
+
+        s = edje_object_data_get(m->bg_object, "argb");
+        if (!s) s = edje_object_data_get(m->bg_object, "shaped");
+        if ((!s) || (s[0] != '1')) m->solid = 1;
+     }
    if (m->header.title)
      {
         edje_object_part_text_set(o, "e.text.title", m->header.title);
index 8c4d05c..f038766 100644 (file)
@@ -72,6 +72,7 @@ struct _E_Menu
    Eina_Bool        pending_new_submenu : 1;
    Eina_Bool        have_submenu : 1;
    Eina_Bool        in_active_list : 1;
+   Eina_Bool        solid : 1; // theme has data.item: "solid" "1"
 };
 
 struct _E_Menu_Item