implement visual-sensitivity (gray out) for faders
authorRobin Gareus <robin@gareus.org>
Fri, 12 Jul 2013 17:07:07 +0000 (19:07 +0200)
committerPaul Davis <paul@linuxaudiosystems.com>
Thu, 8 Aug 2013 19:23:08 +0000 (15:23 -0400)
Note: bar-controller sensitivity state is not yet set if
automation-mode changes to/from play, but the widget now
supports that.

libs/gtkmm2ext/barcontroller.cc
libs/gtkmm2ext/pixfader.cc

index 50c21e57e7016ca5de2c786d304ff54cdb8d9b7c..693151aaed120042eff57b1c1bbd6307b6f30170 100644 (file)
@@ -468,6 +468,12 @@ BarController::expose (GdkEventExpose* /*event*/)
                break;
        }
 
+       if (!darea.get_sensitive()) {
+               rounded_rectangle (context, 0, 0, darea.get_width(), darea.get_height(), 3);
+               context->set_source_rgba (0.505, 0.517, 0.525, 0.6);
+               context->fill ();
+       }
+
        /* draw label */
 
        double xpos = -1;
index 6e0c6429173c1f523849e88cbe27db053bc14e45..0185550259fa20f66bc3c51b4fe4096096d5a821 100644 (file)
@@ -292,13 +292,15 @@ PixFader::on_expose_event (GdkEventExpose* ev)
                pango_cairo_show_layout (cr, _layout->gobj());
        } 
        
-//     if (Config->get_widget_prelight()) {  //pixfader does not have access to config
-               if (_hovering) {
-                       Gtkmm2ext::rounded_rectangle (cr, 0, 0, get_width(), get_height(), 3);
-                       cairo_set_source_rgba (cr, 0.905, 0.917, 0.925, 0.1);
-                       cairo_fill (cr);
-               }
-//     }
+       if (!get_sensitive()) {
+               Gtkmm2ext::rounded_rectangle (cr, 0, 0, get_width(), get_height(), 3);
+               cairo_set_source_rgba (cr, 0.505, 0.517, 0.525, 0.4);
+               cairo_fill (cr);
+       } else if (_hovering) {
+               Gtkmm2ext::rounded_rectangle (cr, 0, 0, get_width(), get_height(), 3);
+               cairo_set_source_rgba (cr, 0.905, 0.917, 0.925, 0.1);
+               cairo_fill (cr);
+       }
 
        last_drawn = ds;