devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ccf064f5ae663245f2c07113ca325b2095998a5a
commit ccf064f5ae663245f2c07113ca325b2095998a5a Author: Chris Michael <cp.mich...@samsung.com> Date: Tue Feb 20 10:33:51 2018 -0500 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.mich...@samsung.com> --- src/lib/ecore_drm2/Ecore_Drm2.h | 12 ++++++++++++ src/lib/ecore_drm2/ecore_drm2_outputs.c | 7 +++++++ 2 files changed, 19 insertions(+) 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) { --