discomfitor pushed a commit to branch master.

commit a4d13328e9a009e1c5d845c58c8f58f7eb2bb79d
Author: Mike Blumenkrantz <[email protected]>
Date:   Wed Apr 17 06:31:59 2013 +0100

    put zoomap shaped/solid edc stuff back for menus, let comp wins use it more 
generally
---
 src/bin/e_comp.c | 3 +++
 src/bin/e_menu.c | 9 ++++++++-
 src/bin/e_menu.h | 1 +
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 929834d..5ec7058 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -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);
 
diff --git a/src/bin/e_menu.c b/src/bin/e_menu.c
index e333eb8..5644a87 100644
--- a/src/bin/e_menu.c
+++ b/src/bin/e_menu.c
@@ -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);
diff --git a/src/bin/e_menu.h b/src/bin/e_menu.h
index 8c4d05c..f038766 100644
--- a/src/bin/e_menu.h
+++ b/src/bin/e_menu.h
@@ -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

-- 

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter

Reply via email to