diff --git a/src/lib/ecore_wl2/Ecore_Wl2.h b/src/lib/ecore_wl2/Ecore_Wl2.h index 5f65191ee1..b9f8e1d498 100644 --- a/src/lib/ecore_wl2/Ecore_Wl2.h +++ b/src/lib/ecore_wl2/Ecore_Wl2.h @@ -432,7 +432,7 @@ typedef struct _Ecore_Wl2_Surface_Interface void *(*setup)(Ecore_Wl2_Window *win); void (*destroy)(Ecore_Wl2_Surface *surface, void *priv_data); - void (*reconfigure)(Ecore_Wl2_Surface *surface, void *priv_data, int w, int h, uint32_t flags); + void (*reconfigure)(Ecore_Wl2_Surface *surface, void *priv_data, int w, int h, uint32_t flags, Eina_Bool alpha); void *(*data_get)(Ecore_Wl2_Surface *surface, void *priv_data, int *w, int *h); int (*assign)(Ecore_Wl2_Surface *surface, void *priv_data); void (*post)(Ecore_Wl2_Surface *surface, void *priv_data, Eina_Rectangle *rects, unsigned int count); @@ -2015,7 +2015,7 @@ EAPI Eina_Bool ecore_wl2_buffer_fit(Ecore_Wl2_Buffer *b, int w, int h); EAPI Ecore_Wl2_Surface *ecore_wl2_surface_create(Ecore_Wl2_Window *win, Eina_Bool alpha); EAPI void ecore_wl2_surface_destroy(Ecore_Wl2_Surface *surface); -EAPI void ecore_wl2_surface_reconfigure(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags); +EAPI void ecore_wl2_surface_reconfigure(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags, Eina_Bool alpha); EAPI void *ecore_wl2_surface_data_get(Ecore_Wl2_Surface *surface, int *w, int *h); EAPI int ecore_wl2_surface_assign(Ecore_Wl2_Surface *surface); EAPI void ecore_wl2_surface_post(Ecore_Wl2_Surface *surface, Eina_Rectangle *rects, unsigned int count); diff --git a/src/lib/ecore_wl2/ecore_wl2_surface.c b/src/lib/ecore_wl2/ecore_wl2_surface.c index 9e7512d090..8720af0b76 100644 --- a/src/lib/ecore_wl2/ecore_wl2_surface.c +++ b/src/lib/ecore_wl2/ecore_wl2_surface.c @@ -27,13 +27,14 @@ ecore_wl2_surface_destroy(Ecore_Wl2_Surface *surface) } EAPI void -ecore_wl2_surface_reconfigure(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags) +ecore_wl2_surface_reconfigure(Ecore_Wl2_Surface *surface, int w, int h, uint32_t flags, Eina_Bool alpha) { EINA_SAFETY_ON_NULL_RETURN(surface); - surface->funcs->reconfigure(surface, surface->private_data, w, h, flags); + surface->funcs->reconfigure(surface, surface->private_data, w, h, flags, alpha); surface->w = w; surface->h = h; + surface->alpha = alpha; } EAPI void * diff --git a/src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c b/src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c index d9baeff90d..34a1edde48 100644 --- a/src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c +++ b/src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c @@ -47,7 +47,7 @@ _evas_dmabuf_surface_setup(Ecore_Wl2_Window *win) } static void -_evas_dmabuf_surface_reconfigure(Ecore_Wl2_Surface *s EINA_UNUSED, void *priv_data, int w, int h, uint32_t flags EINA_UNUSED) +_evas_dmabuf_surface_reconfigure(Ecore_Wl2_Surface *s EINA_UNUSED, void *priv_data, int w, int h, uint32_t flags EINA_UNUSED, Eina_Bool alpha EINA_UNUSED) { Ecore_Wl2_Dmabuf_Private *p; Ecore_Wl2_Buffer *b; diff --git a/src/modules/evas/engines/wayland_shm/evas_outbuf.c b/src/modules/evas/engines/wayland_shm/evas_outbuf.c index be077107ec..a435fdca3c 100644 --- a/src/modules/evas/engines/wayland_shm/evas_outbuf.c +++ b/src/modules/evas/engines/wayland_shm/evas_outbuf.c @@ -285,11 +285,11 @@ _evas_outbuf_reconfigure(Outbuf *ob, int w, int h, int rot, Outbuf_Depth depth, if ((ob->rotation == 0) || (ob->rotation == 180)) { - ecore_wl2_surface_reconfigure(ob->surface, w, h, resize); + ecore_wl2_surface_reconfigure(ob->surface, w, h, resize, alpha); } else if ((ob->rotation == 90) || (ob->rotation == 270)) { - ecore_wl2_surface_reconfigure(ob->surface, h, w, resize); + ecore_wl2_surface_reconfigure(ob->surface, h, w, resize, alpha); } _evas_outbuf_idle_flush(ob);