Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/ecore

Dir     : e17/libs/ecore/src/lib/ecore_fb


Modified Files:
      Tag: SPLIT
        Ecore_Fb.h ecore_fb.c 


Log Message:


backlight control is in... :)
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/Ecore_Fb.h,v
retrieving revision 1.1.2.4
retrieving revision 1.1.2.5
diff -u -3 -r1.1.2.4 -r1.1.2.5
--- Ecore_Fb.h  17 Feb 2003 08:33:24 -0000      1.1.2.4
+++ Ecore_Fb.h  17 Feb 2003 12:00:59 -0000      1.1.2.5
@@ -3,10 +3,10 @@
 
 /* FIXME:
  * add
- * - code to control backlight (only for ipaq for now)
  * - code to control led's (only for ipaq for now)
  * - code to read from /proc/hal/light_sensor or use FLITE_ON ioctl
  * - code to control screen contrast
+ * maybe a new module?
  * - code to get battery info
  * - code to get thermal info
  */
@@ -66,7 +66,13 @@
    
 void   ecore_fb_touch_screen_calibrate_set(int xscale, int xtrans, int yscale, int 
ytrans, int xyswap);
 void   ecore_fb_touch_screen_calibrate_get(int *xscale, int *xtrans, int *yscale, int 
*ytrans, int *xyswap);
-   
+
+void   ecore_fb_backlight_set(int on);
+int    ecore_fb_backlight_get(void);
+
+void   ecore_fb_backlight_brightness_set(double br);
+double ecore_fb_backlight_brightness_get(void);
+
 #ifdef __cplusplus
 }
 #endif
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/ecore/src/lib/ecore_fb/Attic/ecore_fb.c,v
retrieving revision 1.1.2.5
retrieving revision 1.1.2.6
diff -u -3 -r1.1.2.5 -r1.1.2.6
--- ecore_fb.c  16 Feb 2003 15:00:36 -0000      1.1.2.5
+++ ecore_fb.c  17 Feb 2003 12:01:00 -0000      1.1.2.6
@@ -23,9 +23,17 @@
 #ifndef TS_GET_CAL
 #define TS_GET_CAL 0x8014660a
 #endif
+#ifndef TS_SET_BACKLIGHT
+#define TS_SET_BACKLIGHT 0x40086614
+#endif
+#ifndef TS_GET_BACKLIGHT
+#define TS_GET_BACKLIGHT 0x80086614
+#endif
 
 typedef struct _Ecore_Fb_Ts_Event Ecore_Fb_Ts_Event;
 typedef struct _Ecore_Fb_Ts_Calibrate Ecore_Fb_Ts_Calibrate;
+typedef struct _Ecore_Fb_Ts_Backlight Ecore_Fb_Ts_Backlight;
+typedef struct _Ecore_Fb_Ts_Led Ecore_Fb_Ts_Led;
 typedef struct _Ecore_Fb_Ps2_Event Ecore_Fb_Ps2_Event;
 
 struct _Ecore_Fb_Ts_Event
@@ -45,6 +53,20 @@
    int xyswap;
 };
 
+struct _Ecore_Fb_Ts_Backlight
+{
+   int           on;
+   unsigned char brightness;
+};
+
+struct _Ecore_Fb_Ts_Led
+{
+   unsigned char onoff;
+   unsigned char blink_time;
+   unsigned char on_time;
+   unsigned char off_time;
+};
+
 struct _Ecore_Fb_Ps2_Event
 {
    unsigned char button;
@@ -338,7 +360,7 @@
 ecore_fb_init(const char *name)
 {
    int prev_flags;
-   
+
    _ecore_fb_init_count++;
    if (_ecore_fb_init_count > 1) return _ecore_fb_init_count;
 
@@ -553,6 +575,77 @@
    if (yscale) *yscale = cal.yscale;
    if (ytrans) *ytrans = cal.ytrans;
    if (xyswap) *xyswap = cal.xyswap;
+}
+
+/**
+ * Set the backlight
+ * @param on
+ * 
+ * Set the backlight to the @p on state
+ */
+void
+ecore_fb_backlight_set(int on)
+{
+   Ecore_Fb_Ts_Backlight bl;
+   
+   if (_ecore_fb_ts_fd < 0) return;
+   ioctl(_ecore_fb_ts_fd, TS_GET_BACKLIGHT, &bl);
+   bl.on = on;
+   ioctl(_ecore_fb_ts_fd, TS_SET_BACKLIGHT, &bl);
+}
+
+/**
+ * Get the backlight state
+ * @return The current backlight state
+ * 
+ * Get the current backlight state
+ */
+int
+ecore_fb_backlight_get(void)
+{
+   Ecore_Fb_Ts_Backlight bl;
+   
+   if (_ecore_fb_ts_fd < 0) return 1;
+   ioctl(_ecore_fb_ts_fd, TS_GET_BACKLIGHT, &bl);
+   return bl.on;
+}
+
+/**
+ * Set the backlight brightness
+ * @param br Brightness 0.0 to 1.0
+ * 
+ * Set the backglith brightness to @p br, where 0 is darkest and 1.0 is 
+ * the brightest.
+ */
+void 
+ecore_fb_backlight_brightness_set(double br)
+{
+   Ecore_Fb_Ts_Backlight bl;   
+   int val;
+   
+   if (br < 0) br = 0;
+   if (br > 1) br = 1;
+   val = (int)(255.0 * br);
+   ioctl(_ecore_fb_ts_fd, TS_GET_BACKLIGHT, &bl);
+   bl.brightness = val;
+   ioctl(_ecore_fb_ts_fd, TS_SET_BACKLIGHT, &bl);
+}
+
+/**
+ * Get the backlight brightness
+ * @return The current backlight brigntess
+ * 
+ * Get the current backlight brightness as per 
+ * ecore_fb_backlight_brightness_set().
+ */
+double
+ecore_fb_backlight_brightness_get(void)
+{
+   Ecore_Fb_Ts_Backlight bl;
+   
+   if (_ecore_fb_ts_fd < 0) return 1.0;
+   ioctl(_ecore_fb_ts_fd, TS_GET_BACKLIGHT, &bl);
+   return (double)bl.brightness / 255.0;
 }
 
 static void




-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to