devilhorns pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=bd13b46e250bec3403814de8142f6f0d8b91e361

commit bd13b46e250bec3403814de8142f6f0d8b91e361
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Tue Mar 18 11:21:02 2014 +0000

    ecore-evas-drm: Add support for alpha & transparent setting
    
    @feature: This adds (preliminary) support for ecore_evas_alpha_set and
    ecore_evas_transparent_set
    
    NB: This is just the function placeholders and does not actually
    implement transparency yet
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 .../ecore_evas/engines/drm/ecore_evas_drm.c        | 32 ++++++++++++++++++++--
 1 file changed, 30 insertions(+), 2 deletions(-)

diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c 
b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
index 230cbbd..4a6d2b8 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -52,6 +52,8 @@ static void _ecore_evas_drm_maximized_set(Ecore_Evas *ee, 
Eina_Bool on);
 static void _ecore_evas_drm_fullscreen_set(Ecore_Evas *ee, Eina_Bool on);
 static void _ecore_evas_drm_withdrawn_set(Ecore_Evas *ee, Eina_Bool on);
 static void _ecore_evas_drm_ignore_events_set(Ecore_Evas *ee, int ignore);
+static void _ecore_evas_drm_alpha_set(Ecore_Evas *ee, int alpha);
+static void _ecore_evas_drm_transparent_set(Ecore_Evas *ee, int transparent);
 static int _ecore_evas_drm_render(Ecore_Evas *ee);
 static void _ecore_evas_drm_render_updates(void *data, Evas *evas EINA_UNUSED, 
void *event);
 static int _ecore_evas_drm_render_updates_process(Ecore_Evas *ee, Eina_List 
*updates);
@@ -106,8 +108,8 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
    _ecore_evas_drm_withdrawn_set,
    NULL, //void (*fn_sticky_set) (Ecore_Evas *ee, Eina_Bool on);
    _ecore_evas_drm_ignore_events_set,
-   NULL, //void (*fn_alpha_set) (Ecore_Evas *ee, int alpha);
-   NULL, //void (*fn_transparent_set) (Ecore_Evas *ee, int transparent);
+   _ecore_evas_drm_alpha_set,
+   _ecore_evas_drm_transparent_set,
    NULL, //void (*fn_profiles_set) (Ecore_Evas *ee, const char **profiles, int 
count);
    NULL, //void (*fn_profile_set) (Ecore_Evas *ee, const char *profile);
    
@@ -636,6 +638,32 @@ _ecore_evas_drm_ignore_events_set(Ecore_Evas *ee, int 
ignore)
    ee->ignore_events = ignore;
 }
 
+static void 
+_ecore_evas_drm_alpha_set(Ecore_Evas *ee, int alpha)
+{
+   if (ee->in_async_render)
+     {
+        ee->delayed.alpha = alpha;
+        ee->delayed.alpha_changed = EINA_TRUE;
+        return;
+     }
+
+   /* FIXME: TODO: Finish */
+}
+
+static void 
+_ecore_evas_drm_transparent_set(Ecore_Evas *ee, int transparent)
+{
+   if (ee->in_async_render)
+     {
+        ee->delayed.transparent = transparent;
+        ee->delayed.transparent_changed = EINA_TRUE;
+        return;
+     }
+
+   /* FIXME: TODO: Finish */
+}
+
 static int 
 _ecore_evas_drm_render(Ecore_Evas *ee)
 {

-- 


Reply via email to