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 */ +}