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