ecore-x - add ecore x dpms force api
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 4 Jul 2017 05:49:37 +0000 (14:49 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Tue, 4 Jul 2017 05:50:53 +0000 (14:50 +0900)
add api that allows us to force dpms on or off. needed to fix e
support for non-suspend new systems that don't do S3 ...

@feature

src/lib/ecore_x/Ecore_X.h
src/lib/ecore_x/ecore_x_dpms.c

index 8c0c7d3..03e3dec 100644 (file)
@@ -2526,6 +2526,7 @@ EAPI unsigned int   ecore_x_dpms_timeout_off_get(void);
 EAPI void           ecore_x_dpms_timeout_standby_set(unsigned int new_timeout);
 EAPI void           ecore_x_dpms_timeout_suspend_set(unsigned int new_timeout);
 EAPI void           ecore_x_dpms_timeout_off_set(unsigned int new_timeout);
+EAPI void           ecore_x_dpms_force(Eina_Bool on);
 
 EAPI Eina_Bool      ecore_x_test_fake_key_down(const char *key);
 EAPI Eina_Bool      ecore_x_test_fake_key_up(const char *key);
index a44825c..ad946d4 100644 (file)
@@ -283,3 +283,19 @@ ecore_x_dpms_timeout_off_set(unsigned int new_timeout)
    DPMSSetTimeouts(_ecore_x_disp, standby, suspend, new_timeout);
 #endif /* ifdef ECORE_XDPMS */
 }
+
+/**
+ * Forces DPMS on or off
+ * @param on If DPMS is to be forced on (EINA_TRUE) or forced off
+ * @ingroup Ecore_X_DPMS_Group
+ */
+EAPI void
+ecore_x_dpms_force(Eina_Bool on)
+{
+#ifdef ECORE_XDPMS
+   LOGFN(__FILE__, __LINE__, __FUNCTION__);
+   EINA_SAFETY_ON_NULL_RETURN(_ecore_x_disp);
+   if (on) DPMSForceLevel(_ecore_x_disp, DPMSModeOn);
+   else DPMSForceLevel(_ecore_x_disp, DPMSModeOff);
+#endif /* ifdef ECORE_XDPMS */
+}