From: 이상진 <lsj119@samsung.com>

I am attaching another patches for transparent window.

1. Use RGB Visual.
2. Set destination_alpha in ecore_evas for alpha composite in evas.
3. add Function
   - Ecore_Evas_Engine_Func->fn_transparent_set
   - ecore_evas_transparent_set , ecore_evas_transparent_get
   - elm_win_transparent_set, elm_win_transparent_get




SVN revision: 46106
This commit is contained in:
이상진 2010-02-12 05:31:26 +00:00 committed by Carsten Haitzler
parent 86a10db9fc
commit 1ed46d09fb
2 changed files with 30 additions and 0 deletions

View File

@ -257,6 +257,8 @@ extern "C" {
EAPI void elm_win_shaped_set(Evas_Object *obj, Eina_Bool shaped);
EAPI Eina_Bool elm_win_shaped_get(Evas_Object *obj);
EAPI void elm_win_alpha_set(Evas_Object *obj, Eina_Bool alpha);
EAPI Eina_Bool elm_win_transparent_get(Evas_Object *obj);
EAPI void elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent);
EAPI Eina_Bool elm_win_alpha_get(Evas_Object *obj);
EAPI void elm_win_override_set(Evas_Object *obj, Eina_Bool override);
EAPI Eina_Bool elm_win_override_get(Evas_Object *obj);

View File

@ -634,6 +634,34 @@ elm_win_alpha_get(Evas_Object *obj)
return ecore_evas_alpha_get(win->ee);
}
EAPI void
elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent)
{
Elm_Win *win;
if (strcmp(elm_widget_type_get(obj), "win")) return;
win = elm_widget_data_get(obj);
if (!win) return;
if (win->xwin)
{
ecore_evas_transparent_set(win->ee, transparent);
_elm_win_xwin_update(win);
}
else
ecore_evas_transparent_set(win->ee, transparent);
}
EAPI Eina_Bool
elm_win_transparent_get(Evas_Object *obj)
{
Elm_Win *win;
if (strcmp(elm_widget_type_get(obj), "win")) return EINA_FALSE;
win = elm_widget_data_get(obj);
if (!win) return EINA_FALSE;
return ecore_evas_transparent_get(win->ee);
}
EAPI void
elm_win_override_set(Evas_Object *obj, Eina_Bool override)
{