This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch devs/devilhorns/apos
in repository efl.

View the commit online.

commit 6946cf59fbe2bea2cb5425fe84439f190451ae94
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Wed Mar 8 10:42:47 2023 -0500

    ecore_drm2: Add API function to set display DPMS level
---
 src/lib/ecore_drm2/Ecore_Drm2.h          |  1 +
 src/lib/ecore_drm2/ecore_drm2_displays.c | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)

diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 822afa8833..ce940f2544 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -66,6 +66,7 @@ EAPI unsigned int ecore_drm2_display_connector_type_get(Ecore_Drm2_Display *disp
 EAPI unsigned int ecore_drm2_display_subpixel_get(Ecore_Drm2_Display *disp);
 EAPI void ecore_drm2_display_physical_size_get(Ecore_Drm2_Display *disp, int *w, int *h);
 EAPI int ecore_drm2_display_dpms_get(Ecore_Drm2_Display *disp);
+EAPI void ecore_drm2_display_dpms_set(Ecore_Drm2_Display *disp, uint64_t level);
 EAPI Eina_Bool ecore_drm2_display_enabled_get(Ecore_Drm2_Display *disp);
 EAPI void ecore_drm2_display_enabled_set(Ecore_Drm2_Display *disp, Eina_Bool enabled);
 EAPI unsigned int ecore_drm2_display_crtc_get(Ecore_Drm2_Display *disp);
diff --git a/src/lib/ecore_drm2/ecore_drm2_displays.c b/src/lib/ecore_drm2/ecore_drm2_displays.c
index 581426429b..90cb06f442 100644
--- a/src/lib/ecore_drm2/ecore_drm2_displays.c
+++ b/src/lib/ecore_drm2/ecore_drm2_displays.c
@@ -670,6 +670,22 @@ ecore_drm2_display_dpms_get(Ecore_Drm2_Display *disp)
    return disp->conn->state.current->dpms.value;
 }
 
+EAPI void
+ecore_drm2_display_dpms_set(Ecore_Drm2_Display *disp, uint64_t level)
+{
+   Ecore_Drm2_Connector_State *cstate, *pstate;
+
+   EINA_SAFETY_ON_NULL_RETURN(disp);
+   EINA_SAFETY_ON_NULL_RETURN(disp->conn);
+
+   cstate = disp->conn->state.current;
+   if (cstate->dpms.value == level) return;
+
+   pstate = disp->conn->state.pending;
+   pstate->dpms.value = level;
+   pstate->changes |= ECORE_DRM2_CONNECTOR_STATE_DPMS;
+}
+
 EAPI Eina_Bool
 ecore_drm2_display_enabled_get(Ecore_Drm2_Display *disp)
 {

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to