devilhorns pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b634f9485a837bd1a3a708a23f996c70d53ce138
commit b634f9485a837bd1a3a708a23f996c70d53ce138 Author: Chris Michael <[email protected]> Date: Wed May 11 09:24:12 2016 -0400 ecore-drm2: Add API functions to get/set if an output is enabled Signed-off-by: Chris Michael <[email protected]> --- src/lib/ecore_drm2/Ecore_Drm2.h | 23 +++++++++++++++++++++++ src/lib/ecore_drm2/ecore_drm2_outputs.c | 23 +++++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h index bcbffcb..3b4ffdf 100644 --- a/src/lib/ecore_drm2/Ecore_Drm2.h +++ b/src/lib/ecore_drm2/Ecore_Drm2.h @@ -415,6 +415,29 @@ EAPI Eina_Bool ecore_drm2_output_primary_get(Ecore_Drm2_Output *output); EAPI void ecore_drm2_output_primary_set(Ecore_Drm2_Output *output, Eina_Bool primary); /** + * Get if a given output is enabled + * + * @param output + * + * @return EINA_TRUE if enabled, EINA_FALSE otherwise. + * + * @ingroup Ecore_Drm2_Output_Group + * @since 1.18 + */ +EAPI Eina_Bool ecore_drm2_output_enabled_get(Ecore_Drm2_Output *output); + +/** + * Set if a given output is enabled + * + * @param output + * @param enabled + * + * @ingroup Ecore_Drm2_Output_Group + * @since 1.18 + */ +EAPI void ecore_drm2_output_enabled_set(Ecore_Drm2_Output *output, Eina_Bool enabled); + +/** * @defgroup Ecore_Drm2_Fb_Group Drm framebuffer functions * * Functions that deal with setup of framebuffers diff --git a/src/lib/ecore_drm2/ecore_drm2_outputs.c b/src/lib/ecore_drm2/ecore_drm2_outputs.c index 285ca84..553c911 100644 --- a/src/lib/ecore_drm2/ecore_drm2_outputs.c +++ b/src/lib/ecore_drm2/ecore_drm2_outputs.c @@ -931,3 +931,26 @@ ecore_drm2_output_primary_set(Ecore_Drm2_Output *output, Eina_Bool primary) EINA_SAFETY_ON_NULL_RETURN(output); output->primary = primary; } + +EAPI Eina_Bool +ecore_drm2_output_enabled_get(Ecore_Drm2_Output *output) +{ + EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE); + return output->enabled; +} + +EAPI void +ecore_drm2_output_enabled_set(Ecore_Drm2_Output *output, Eina_Bool enabled) +{ + EINA_SAFETY_ON_NULL_RETURN(output); + + if (output->enabled == enabled) return; + output->enabled = enabled; + + if (output->enabled) + ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_ON); + else + ecore_drm2_output_dpms_set(output, DRM_MODE_DPMS_OFF); + + _output_event_send(output); +} --
