[gnome-control-center] display: use a better color shading



commit f490da1cb5461177ec086273add37b7e7157b79f
Author: William Jon McCann <jmccann redhat com>
Date:   Tue Nov 23 08:29:59 2010 -0500

    display: use a better color shading
    
    So the displays don't look black when off.  We should avoid using
    black since that is used for the top bar.

 panels/display/xrandr-capplet.c |   30 ++++++++++++++++++++++++++----
 1 files changed, 26 insertions(+), 4 deletions(-)
---
diff --git a/panels/display/xrandr-capplet.c b/panels/display/xrandr-capplet.c
index 8ee28ce..8444628 100644
--- a/panels/display/xrandr-capplet.c
+++ b/panels/display/xrandr-capplet.c
@@ -1763,6 +1763,31 @@ paint_background (FooScrollArea *area,
 }
 
 static void
+color_shade (double *r,
+             double *g,
+             double *b,
+             double  k)
+{
+  double h, s, v;
+
+  gtk_rgb_to_hsv (*r, *g, *b, &h, &s, &v);
+
+  s *= k;
+  if (s > 1.0)
+    s = 1.0;
+  else if (s < 0.0)
+    s = 0.0;
+
+  v *= k;
+  if (v > 1.0)
+    v = 1.0;
+  else if (v < 0.0)
+    v = 0.0;
+
+  gtk_hsv_to_rgb (h, s, v, r, g, b);
+}
+
+static void
 paint_output (App *app, cairo_t *cr, int i)
 {
   int w, h;
@@ -1829,7 +1854,6 @@ paint_output (App *app, cairo_t *cr, int i)
     {
       GtkStyle *style;
       GdkColor  color;
-      double    r, g, b;
 
       style = gtk_widget_get_style (app->area);
       color = style->bg[GTK_STATE_SELECTED];
@@ -1855,9 +1879,7 @@ paint_output (App *app, cairo_t *cr, int i)
   if (!output->on)
     {
       /* If the output is turned off, just darken the selected color */
-      r *= 0.2;
-      g *= 0.2;
-      b *= 0.2;
+      color_shade (&r, &g, &b, 0.4);
     }
 
   cairo_set_source_rgba (cr, r, g, b, 1.0);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]