devilhorns pushed a commit to branch master.

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

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

    ecore-evas-drm: Add support for maximized, fullscreen, withdrawn, and
    ignore_events settings
    
    @feature: This adds support for: ecore_evas_maximized_set,
    ecore_evas_fullscreen_set, ecore_evas_withdrawn_set, and
    ecore_evas_ignore_events_set functions to the drm engine
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 .../ecore_evas/engines/drm/ecore_evas_drm.c        | 42 +++++++++++++++++++---
 1 file changed, 38 insertions(+), 4 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 a617b23..230cbbd 100644
--- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
+++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
@@ -48,6 +48,10 @@ static void _ecore_evas_drm_object_cursor_set(Ecore_Evas 
*ee, Evas_Object *obj,
 static void _ecore_evas_drm_layer_set(Ecore_Evas *ee, int layer);
 static void _ecore_evas_drm_iconified_set(Ecore_Evas *ee, Eina_Bool on);
 static void _ecore_evas_drm_borderless_set(Ecore_Evas *ee, Eina_Bool on);
+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 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);
@@ -96,12 +100,12 @@ static Ecore_Evas_Engine_Func _ecore_evas_drm_engine_func =
    _ecore_evas_drm_iconified_set,
    _ecore_evas_drm_borderless_set,
    NULL, //void (*fn_override_set) (Ecore_Evas *ee, Eina_Bool on);
-   NULL, //void (*fn_maximized_set) (Ecore_Evas *ee, Eina_Bool on);
-   NULL, //void (*fn_fullscreen_set) (Ecore_Evas *ee, Eina_Bool on);
+   _ecore_evas_drm_maximized_set,
+   _ecore_evas_drm_fullscreen_set,
    NULL, //void (*fn_avoid_damage_set) (Ecore_Evas *ee, int on);
-   NULL, //void (*fn_withdrawn_set) (Ecore_Evas *ee, Eina_Bool on);
+   _ecore_evas_drm_withdrawn_set,
    NULL, //void (*fn_sticky_set) (Ecore_Evas *ee, Eina_Bool on);
-   NULL, //void (*fn_ignore_events_set) (Ecore_Evas *ee, int ignore);
+   _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);
    NULL, //void (*fn_profiles_set) (Ecore_Evas *ee, const char **profiles, int 
count);
@@ -602,6 +606,36 @@ _ecore_evas_drm_borderless_set(Ecore_Evas *ee, Eina_Bool 
on)
    ee->prop.borderless = on;
 }
 
+static void 
+_ecore_evas_drm_maximized_set(Ecore_Evas *ee, Eina_Bool on)
+{
+   if (ee->prop.maximized == on) return;
+   ee->prop.maximized = on;
+}
+
+static void 
+_ecore_evas_drm_fullscreen_set(Ecore_Evas *ee, Eina_Bool on)
+{
+   if (ee->prop.fullscreen == on) return;
+   ee->prop.fullscreen = on;
+}
+
+static void 
+_ecore_evas_drm_withdrawn_set(Ecore_Evas *ee, Eina_Bool on)
+{
+   if (ee->prop.withdrawn == on) return;
+   ee->prop.withdrawn = on;
+   if (on) ecore_evas_hide(ee);
+   else ecore_evas_show(ee);
+}
+
+static void 
+_ecore_evas_drm_ignore_events_set(Ecore_Evas *ee, int ignore)
+{
+   if (ee->ignore_events == ignore) return;
+   ee->ignore_events = ignore;
+}
+
 static int 
 _ecore_evas_drm_render(Ecore_Evas *ee)
 {

-- 


Reply via email to