summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2018-03-29 09:14:23 -0400
committerChris Michael <cp.michael@samsung.com>2018-05-04 06:37:16 -0400
commitae426952c54562ec85231de87282f3b891d245b6 (patch)
tree22bd96713127b660bf3a28e14c0b284e2773acde
parent087c91b7baa0eff778f919aef3daada3a864e2bd (diff)
downloadefl-ae426952c54562ec85231de87282f3b891d245b6.tar.gz
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
-rw-r--r--src/lib/ecore_evas/Ecore_Evas.h2
-rw-r--r--src/lib/ecore_evas/ecore_evas.c11
-rw-r--r--src/lib/ecore_evas/ecore_evas_private.h3
3 files changed, 16 insertions, 0 deletions
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;