devilhorns pushed a commit to branch feature/wayland/multi-output. http://git.enlightenment.org/core/efl.git/commit/?id=ae426952c54562ec85231de87282f3b891d245b6
commit ae426952c54562ec85231de87282f3b891d245b6 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 --- 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 da3401a286..cfc7498091 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -2915,6 +2915,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 c419699296..c904cc367c 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; --