[Extn_GL] add alpha set in extn gl backend
authorsunghyun kim <scholb.kim@samsung.com>
Thu, 1 Dec 2016 08:44:36 +0000 (17:44 +0900)
committerWonki Kim <wonki_.kim@samsung.com>
Mon, 2 Jan 2017 07:23:58 +0000 (16:23 +0900)
Change-Id: Ie335d0399e74bb95dd5f51b0f46158260d5eeedd

src/Makefile_Ecore_Evas.am
src/modules/ecore_evas/engines/extn/ecore_evas_extn.c
src/modules/ecore_evas/engines/extn/ecore_evas_extn_engine.h

index 316475a..a27f586 100755 (executable)
@@ -70,6 +70,7 @@ modules_ecore_evas_engines_extn_module_la_CPPFLAGS = -I$(top_builddir)/src/lib/e
 @ECORE_IPC_CFLAGS@ \
 @TIZEN_REMOTE_SURFACE_CFLAGS@ \
 -I$(top_srcdir)/src/modules/evas/engines/buffer \
+-I$(top_srcdir)/src/modules/evas/engines/wayland_egl \
 -I$(top_srcdir)/src/modules/ecore_evas/engines/extn
 modules_ecore_evas_engines_extn_module_la_LIBADD = \
 @USE_ECORE_EVAS_LIBS@ \
index 4a5a78e..e4a2a29 100644 (file)
@@ -2157,7 +2157,18 @@ _ecore_evas_extn_socket_alpha_set(Ecore_Evas *ee, int alpha)
      {
         if (_ecore_evas_extn_type_get() == EXTN_TYPE_WAYLAND_EGL)
           {
-             INF("[EXTN_GL] pass socket alpha set");
+             Evas_Engine_Info_Wayland_Egl *einfo;
+             ee->alpha = alpha;
+             einfo = (Evas_Engine_Info_Wayland_Egl *)evas_engine_info_get(ee->evas);
+             if(einfo)
+               {
+                  int fw, fh;
+                  evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
+                  einfo->info.destination_alpha = EINA_TRUE;
+                  if (!evas_engine_info_set(ee->evas, (Evas_Engine_Info *)einfo))
+                    ERR("evas_engine_info_set() for engine '%s' failed.", ee->driver);
+                  evas_damage_rectangle_add(ee->evas, 0, 0, ee->w + fw, ee->h + fh);
+               }
           }
         else
           {
index ff51960..2f507a7 100644 (file)
@@ -32,6 +32,7 @@
 #include <wayland-tbm-client.h>
 #include <Ecore_Wayland.h>
 #include <tbm_surface.h>
+#include <Evas_Engine_Wayland_Egl.h>
 
 #include "ecore_private.h" // FIXME: Because of ECORE_MAGIC
 #include "ecore_evas_private.h"