brightness = 0;
if (brightness > 255)
brightness = 255;
- Brightness = brightness;
- dim = Brightness / 255.0;
- col.R *= dim;
- col.G *= dim;
- col.B *= dim;
-
- debug("%s: set backlight to %d%%, original backlight color: 0x%02x%02x%02x%02x, dimmed: 0x%02x%02x%02x%02x",
- Name, (int) (dim * 100), BL_COL.R, BL_COL.G, BL_COL.B, BL_COL.A, col.R, col.G, col.B, col.A);
- for (i = 0; i < DCOLS * DROWS; i++) {
- drv_X11_FB[i] = col;
- }
- drv_X11_color(col);
+ if (Brightness != brightness) {
- XFillRectangle(dp, pm, gc, 0, 0, dimx + 2 * border + btnwidth, dimy + 2 * border);
- XSetWindowBackground(dp, w, xc.pixel);
- XClearWindow(dp, w);
+ Brightness = brightness;
+ dim = Brightness / 255.0;
+ col.R *= dim;
+ col.G *= dim;
+ col.B *= dim;
- /* redraw every LCD pixel */
- drv_X11_blit(0, 0, LROWS, LCOLS);
+ debug("%s: set backlight to %d%%, original backlight color: 0x%02x%02x%02x%02x, dimmed: 0x%02x%02x%02x%02x",
+ Name, (int) (dim * 100), BL_COL.R, BL_COL.G, BL_COL.B, BL_COL.A, col.R, col.G, col.B, col.A);
+ for (i = 0; i < DCOLS * DROWS; i++) {
+ drv_X11_FB[i] = col;
+ }
+
+ drv_X11_color(col);
+
+ XFillRectangle(dp, pm, gc, 0, 0, dimx + 2 * border + btnwidth, dimy + 2 * border);
+ XSetWindowBackground(dp, w, xc.pixel);
+ XClearWindow(dp, w);
+
+ /* redraw every LCD pixel */
+ drv_X11_blit(0, 0, LROWS, LCOLS);
+ }
return Brightness;
}