ecore-drm2: Add API functions to get/set if an output is enabled
authorChris Michael <cpmichael@osg.samsung.com>
Wed, 11 May 2016 13:24:12 +0000 (09:24 -0400)
committerChris Michael <cpmichael@osg.samsung.com>
Fri, 27 May 2016 15:57:53 +0000 (11:57 -0400)
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
src/lib/ecore_drm2/Ecore_Drm2.h
src/lib/ecore_drm2/ecore_drm2_outputs.c

index bcbffcb..3b4ffdf 100644 (file)
@@ -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
index 285ca84..553c911 100644 (file)
@@ -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);
+}