ecore-wl2: Add API function to set if a window is transparent

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2015-09-28 09:36:34 -04:00
parent 35cbc0d737
commit 0d0b7f9979
2 changed files with 23 additions and 0 deletions

View File

@ -99,6 +99,7 @@ struct _Ecore_Wl2_Window
Eina_Bool focused : 1;
Eina_Bool resizing : 1;
Eina_Bool alpha : 1;
Eina_Bool transparent : 1;
};
struct _Ecore_Wl2_Output

View File

@ -268,6 +268,11 @@ ecore_wl2_window_new(Ecore_Wl2_Display *display, Ecore_Wl2_Window *parent, int x
win->geometry.w = w;
win->geometry.h = h;
win->opaque.x = x;
win->opaque.y = y;
win->opaque.w = w;
win->opaque.h = h;
win->type = ECORE_WL2_WINDOW_TYPE_TOPLEVEL;
display->windows =
@ -519,6 +524,23 @@ ecore_wl2_window_alpha_set(Ecore_Wl2_Window *window, Eina_Bool alpha)
ecore_wl2_window_opaque_region_set(window, 0, 0, 0, 0);
}
EAPI void
ecore_wl2_window_transparent_set(Ecore_Wl2_Window *window, Eina_Bool transparent)
{
EINA_SAFETY_ON_NULL_RETURN(window);
if (window->transparent == transparent) return;
window->transparent = transparent;
if (!window->transparent)
ecore_wl2_window_opaque_region_set(window, window->opaque.x,
window->opaque.y, window->opaque.w,
window->opaque.h);
else
ecore_wl2_window_opaque_region_set(window, 0, 0, 0, 0);
}
EAPI void
ecore_wl2_window_opaque_region_set(Ecore_Wl2_Window *window, int x, int y, int w, int h)
{