summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derekf@osg.samsung.com>2018-02-08 11:56:30 -0600
committerDerek Foreman <derekf@osg.samsung.com>2018-04-20 13:00:27 -0500
commit6da0933d60fba481c063703c21398dda8b79a90f (patch)
treed634c01b019382a2479256a02db50edadb6fa5b1
parentd85e96006050427dce2ea4bc9e1677652e9a7842 (diff)
downloadefl-6da0933d60fba481c063703c21398dda8b79a90f.tar.gz
ecore_wl2: Add alpha to reconfigure
Currently we only ever make wayland windows with alpha, this is a step towards changing that.
-rw-r--r--src/lib/ecore_wl2/Ecore_Wl2.h4
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_surface.c5
-rw-r--r--src/lib/ecore_wl2/ecore_wl2_surface_module_dmabuf.c2
-rw-r--r--src/modules/evas/engines/wayland_shm/evas_outbuf.c4
4 files changed, 8 insertions, 7 deletions
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);