devilhorns pushed a commit to branch master.
commit 19c4916f41fcc290275b0e8d2f7f14a420e1e7f2
Author: Deon 'PrinceAMD' Thomas <[email protected]>
Date: Tue May 7 11:47:27 2013 +0100
Ecore DPMS function to get the current power level
---
src/lib/ecore_x/Ecore_X.h | 9 +++++++++
src/lib/ecore_x/xlib/ecore_x_dpms.c | 24 ++++++++++++++++++++++++
2 files changed, 33 insertions(+)
diff --git a/src/lib/ecore_x/Ecore_X.h b/src/lib/ecore_x/Ecore_X.h
index a23b173..8310283 100644
--- a/src/lib/ecore_x/Ecore_X.h
+++ b/src/lib/ecore_x/Ecore_X.h
@@ -397,6 +397,14 @@ typedef enum _Ecore_X_Error_Code
ECORE_X_ERROR_CODE_BAD_IMPLEMENTATION = 17,
} Ecore_X_Error_Code;
+typedef enum _Ecore_X_Dpms_Mode
+{
+ ECORE_X_DPMS_MODE_ON = 0,
+ ECORE_X_DPMS_MODE_STANDBY = 1,
+ ECORE_X_DPMS_MODE_SUSPEND = 2,
+ ECORE_X_DPMS_MODE_OFF = 3
+} Ecore_X_Dpms_Mode;
+
typedef struct _Ecore_X_Event_Mouse_In
Ecore_X_Event_Mouse_In;
typedef struct _Ecore_X_Event_Mouse_Out
Ecore_X_Event_Mouse_Out;
typedef struct _Ecore_X_Event_Window_Focus_In
Ecore_X_Event_Window_Focus_In;
@@ -2360,6 +2368,7 @@ EAPI Eina_Bool ecore_x_dpms_query(void);
EAPI Eina_Bool ecore_x_dpms_capable_get(void);
EAPI Eina_Bool ecore_x_dpms_enabled_get(void);
EAPI void ecore_x_dpms_enabled_set(int enabled);
+EAPI Ecore_X_Dpms_Mode ecore_x_dpms_power_level_get(void);
EAPI void ecore_x_dpms_timeouts_get(unsigned int *standby, unsigned
int *suspend, unsigned int *off);
EAPI Eina_Bool ecore_x_dpms_timeouts_set(unsigned int standby, unsigned
int suspend, unsigned int off);
EAPI unsigned int ecore_x_dpms_timeout_standby_get(void);
diff --git a/src/lib/ecore_x/xlib/ecore_x_dpms.c
b/src/lib/ecore_x/xlib/ecore_x_dpms.c
index beb914d..b3c3e38 100644
--- a/src/lib/ecore_x/xlib/ecore_x_dpms.c
+++ b/src/lib/ecore_x/xlib/ecore_x_dpms.c
@@ -80,6 +80,30 @@ ecore_x_dpms_enabled_get(void)
}
/**
+ * Check the DPMS power level.
+ * @return @c 0 if DPMS is :In Use
+ * @return @c 1 if DPMS is :Blanked, low power
+ * @return @c 2 if DPMS is :Blanked, lower power
+ * @return @c 3 if DPMS is :Shut off, awaiting activity
+ * @return @c -1 othwhise.
+ */
+
+EAPI Ecore_X_Dpms_Mode
+ecore_x_dpms_power_level_get(void)
+{
+#ifdef ECORE_XDPMS
+ unsigned char state;
+ unsigned short power_lvl;
+
+ LOGFN(__FILE__, __LINE__, __FUNCTION__);
+ DPMSInfo(_ecore_x_disp, &power_lvl, &state);
+ return (int)power_lvl;
+#else
+ return -1;
+#endif
+}
+
+/**
* Sets the DPMS state of the display.
* @param enabled @c 0 to disable DPMS characteristics of the server, enable
it otherwise.
* @ingroup Ecore_X_DPMS_Group
--
------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and
their applications. This 200-page book is written by three acclaimed
leaders in the field. The early access version is available now.
Download your free book today! http://p.sf.net/sfu/neotech_d2d_may