if (!win) return;
- /* if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN) */
- /* { */
- /* win->allocation.w = w; */
- /* win->allocation.h = h; */
+ if (win->type != ECORE_WL_WINDOW_TYPE_FULLSCREEN)
+ {
+ win->allocation.w = w;
+ win->allocation.h = h;
- /* win->region.input = */
- /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */
- /* wl_region_add(win->region.input, win->allocation.x, win->allocation.y, */
- /* win->allocation.w, win->allocation.h); */
- /* } */
+ win->region.input =
+ wl_compositor_create_region(_ecore_wl_disp->wl.compositor);
+ wl_region_add(win->region.input, win->allocation.x, win->allocation.y,
+ win->allocation.w, win->allocation.h);
+ }
- /* if (!win->transparent) */
- /* { */
- /* win->region.opaque = */
- /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */
- /* wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, */
- /* win->allocation.w, win->allocation.h); */
- /* } */
+ if (!win->transparent)
+ {
+ win->region.opaque =
+ wl_compositor_create_region(_ecore_wl_disp->wl.compositor);
+ wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y,
+ win->allocation.w, win->allocation.h);
+ }
if (win->shell_surface)
{
win->edges = 0;
+ /* if (buffer) */
wl_surface_attach(win->surface, buffer, x, y);
- ecore_wl_window_damage(win, 0, 0,
- win->allocation.w, win->allocation.h);
+ wl_surface_damage(win->surface, 0, 0,
+ win->allocation.w, win->allocation.h);
+ wl_surface_commit(win->surface);
win->server_allocation = win->allocation;
}
win->allocation.w = w;
win->allocation.h = h;
- /* if (!win->transparent) */
- /* { */
- /* if (win->region.opaque) wl_region_destroy(win->region.opaque); */
- /* win->region.opaque = */
- /* wl_compositor_create_region(_ecore_wl_disp->wl.compositor); */
- /* wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y, */
- /* win->allocation.w, win->allocation.h); */
- /* } */
+ if ((!win->transparent) || (!win->alpha))
+ {
+ if (win->region.opaque) wl_region_destroy(win->region.opaque);
+ win->region.opaque =
+ wl_compositor_create_region(_ecore_wl_disp->wl.compositor);
+ wl_region_add(win->region.opaque, win->allocation.x, win->allocation.y,
+ win->allocation.w, win->allocation.h);
+ }
}
EAPI void
{
if (win->type == ECORE_WL_WINDOW_TYPE_TOPLEVEL)
win->edges = edges;
-
if (win->region.input) wl_region_destroy(win->region.input);
win->region.input = NULL;
if (win->region.opaque) wl_region_destroy(win->region.opaque);