aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2018-02-20 10:33:51 -0500
committerChris Michael <cp.michael@samsung.com>2018-02-27 09:31:33 -0500
commitccf064f5ae663245f2c07113ca325b2095998a5a (patch)
tree739601133f59330aaaa25ac84b00bf050acd3b33 /src
parentecore-drm2: Free stringshare for relative output during output_free (diff)
downloadefl-ccf064f5ae663245f2c07113ca325b2095998a5a.tar.gz
ecore-drm2: Add API function to retrieve output user data
With the rework of Ecore_Evas drm engine, we need to get the ecore_evas itself in the pageflip callback so we have to reassign output->user_data to the ecore_evas which we can then use to retrieve via this function This is needed as the pageflip callback will pass us the output on which the pageflip completed. @feature Signed-off-by: Chris Michael <cp.michael@samsung.com>
Diffstat (limited to 'src')
-rw-r--r--src/lib/ecore_drm2/Ecore_Drm2.h12
-rw-r--r--src/lib/ecore_drm2/ecore_drm2_outputs.c7
2 files changed, 19 insertions, 0 deletions
diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 8b987b920f..fb1884be2d 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -793,6 +793,18 @@ EAPI Eina_Bool ecore_drm2_output_rotation_set(Ecore_Drm2_Output *output, int rot
EAPI void ecore_drm2_output_user_data_set(Ecore_Drm2_Output *o, void *data);
/**
+ * Get the user data for a given output
+ *
+ * @param output The output to get user data for
+ *
+ * @return The user data associated with given output
+ *
+ * @ingroup Ecore_Drm2_Output_Group
+ * @since 1.21
+ */
+EAPI void *ecore_drm2_output_user_data_get(Ecore_Drm2_Output *output);
+
+/**
* Get the subpixel state of the output
* @param output the output
* @return The state value
diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c
index a27826ee1e..e39f26a6da 100644
--- a/src/lib/ecore_drm2/ecore_drm2_outputs.c
+++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c
@@ -1456,6 +1456,13 @@ ecore_drm2_output_user_data_set(Ecore_Drm2_Output *o, void *data)
o->user_data = data;
}
+EAPI void *
+ecore_drm2_output_user_data_get(Ecore_Drm2_Output *output)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(output, NULL);
+ return output->user_data;
+}
+
EAPI void
ecore_drm2_output_gamma_set(Ecore_Drm2_Output *output, uint16_t size, uint16_t *red, uint16_t *green, uint16_t *blue)
{