devilhorns pushed a commit to branch feature/wayland/multi-output.

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

commit da6fb0f3286722e9771524f78815b5e342112cde
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Thu Mar 29 09:14:23 2018 -0400

    ecore-evas: Add engine function to clone an output
    
    Small patch to add an ecore_evas engine function which can be called
    from within Enlightenment in order to clone a given output.
    
    @feature
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 src/lib/ecore_evas/Ecore_Evas.h         |  2 ++
 src/lib/ecore_evas/ecore_evas.c         | 11 +++++++++++
 src/lib/ecore_evas/ecore_evas_private.h |  3 +++
 3 files changed, 16 insertions(+)

diff --git a/src/lib/ecore_evas/Ecore_Evas.h b/src/lib/ecore_evas/Ecore_Evas.h
index e6cc85f5a6..c4ed25d6c3 100644
--- a/src/lib/ecore_evas/Ecore_Evas.h
+++ b/src/lib/ecore_evas/Ecore_Evas.h
@@ -3653,6 +3653,8 @@ EAPI unsigned long ecore_evas_pixmap_colormap_get(const 
Ecore_Evas *ee);
  */
 EAPI int ecore_evas_pixmap_depth_get(const Ecore_Evas *ee);
 
+EAPI Eina_Bool ecore_evas_output_clone_set(const Ecore_Evas *ee, void *output, 
void *clone);
+
 /**
  * @}
  */
diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c
index 50eb36dfb9..dc4f521d6e 100644
--- a/src/lib/ecore_evas/ecore_evas.c
+++ b/src/lib/ecore_evas/ecore_evas.c
@@ -2944,6 +2944,17 @@ ecore_evas_pixmap_depth_get(const Ecore_Evas *ee)
    return 0;
 }
 
+EAPI Eina_Bool
+ecore_evas_output_clone_set(const Ecore_Evas *ee, void *output, void *clone)
+{
+   ECORE_EVAS_CHECK(ee, EINA_FALSE);
+
+   if (ee->engine.func->fn_output_clone_set)
+     return ee->engine.func->fn_output_clone_set(ee, output, clone);
+
+   return EINA_FALSE;
+}
+
 /* fps debug calls - for debugging how much time your app actually spends */
 /* rendering graphics... :) */
 
diff --git a/src/lib/ecore_evas/ecore_evas_private.h 
b/src/lib/ecore_evas/ecore_evas_private.h
index 3dbd61ea62..4ef5baf830 100644
--- a/src/lib/ecore_evas/ecore_evas_private.h
+++ b/src/lib/ecore_evas/ecore_evas_private.h
@@ -171,6 +171,8 @@ struct _Ecore_Evas_Engine_Func
    Eina_Bool (*fn_prepare)(Ecore_Evas *ee);
 
    double (*fn_last_tick_get)(Ecore_Evas *ee);
+
+   Eina_Bool (*fn_output_clone_set)(const Ecore_Evas *ee, void *output, void 
*clone);
 };
 
 struct _Ecore_Evas_Interface
@@ -323,6 +325,7 @@ struct _Ecore_Evas
       void          (*fn_focus_device_out) (Ecore_Evas *ee, Efl_Input_Device 
*seat);
       void          (*fn_device_mouse_in) (Ecore_Evas *ee, Efl_Input_Device 
*mouse);
       void          (*fn_device_mouse_out) (Ecore_Evas *ee, Efl_Input_Device 
*mouse);
+      Eina_Bool     (*fn_output_clone_set) (const Ecore_Evas *ee, void 
*output, void *clone);
    } func;
 
    Ecore_Evas_Engine engine;

-- 


Reply via email to