summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-04 14:49:37 +0900
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2017-07-04 14:50:53 +0900
commit52fdb5e830e02ad19b9418be3bb35ea1bd0ed5c0 (patch)
tree8a9696f23211237bf41955d8d0f31e9eeebd59eb
parent0735f6aa612476a9f126747269cb3761b9e9aeba (diff)
downloadefl-52fdb5e830e02ad19b9418be3bb35ea1bd0ed5c0.tar.gz
ecore-x - add ecore x dpms force api
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
-rw-r--r--src/lib/ecore_x/Ecore_X.h1
-rw-r--r--src/lib/ecore_x/ecore_x_dpms.c16
2 files changed, 17 insertions, 0 deletions
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index 8c0c7d3ef1..03e3dec743 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -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);
diff --git a/src/lib/ecore_x/ecore_x_dpms.c b/src/lib/ecore_x/ecore_x_dpms.c
index a44825c4c7..ad946d45c9 100644
--- a/src/lib/ecore_x/ecore_x_dpms.c
+++ b/src/lib/ecore_x/ecore_x_dpms.c
@@ -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 */
+}