always guarantee there is an opaque object at the bottom of non-translucent windows.

if you set media bg as png or other images with transparency, it would
show garbage.




SVN revision: 75586
This commit is contained in:
Gustavo Sverzut Barbieri 2012-08-23 02:53:59 +00:00
parent a6ed899bd6
commit 6e790ac6d2
1 changed files with 10 additions and 1 deletions

View File

@ -13,7 +13,7 @@
int _log_domain = -1;
static Evas_Object *win = NULL, *bg = NULL, *term = NULL, *media = NULL;
static Evas_Object *win = NULL, *bg = NULL, *backbg = NULL, *term = NULL, *media = NULL;
static Evas_Object *cmdbox = NULL;
static Evas_Object *popmedia = NULL;
static Evas_Object *conform = NULL;
@ -248,11 +248,13 @@ main_trans_update(const Config *config)
{
edje_object_signal_emit(bg, "translucent,on", "terminology");
elm_win_alpha_set(win, EINA_TRUE);
evas_object_hide(backbg);
}
else
{
edje_object_signal_emit(bg, "translucent,off", "terminology");
elm_win_alpha_set(win, EINA_FALSE);
evas_object_show(backbg);
}
}
@ -641,6 +643,13 @@ elm_main(int argc, char **argv)
if (override) elm_win_override_set(win, EINA_TRUE);
if (maximized) elm_win_maximized_set(win, EINA_TRUE);
backbg = o = evas_object_rectangle_add(evas_object_evas_get(win));
evas_object_color_set(o, 0, 0, 0, 255);
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_win_resize_object_add(win, o);
evas_object_show(o);
conform = o = elm_conformant_add(win);
evas_object_size_hint_weight_set(o, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_fill_set(o, EVAS_HINT_FILL, EVAS_HINT_FILL);