diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-27 11:24:43 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2011-10-27 11:24:43 +0000 |
commit | 892f3c361e1b6d22da7f38194ec42182c185b14e (patch) | |
tree | 56b5c50708c8310134acc1af34c16e21c1de8ebd /gtk2_ardour/led.cc | |
parent | 24765e845965211e0731c577a2bfcd6f76de9674 (diff) |
change CairoWidget API to be a more logical/intuitive for setting widget state, to differentiate between active state and visual state (prelight, insensitive etc)
git-svn-id: svn://localhost/ardour2/branches/3.0@10314 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/led.cc')
-rw-r--r-- | gtk2_ardour/led.cc | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/gtk2_ardour/led.cc b/gtk2_ardour/led.cc index 259ebccd2d..8a8c5868f3 100644 --- a/gtk2_ardour/led.cc +++ b/gtk2_ardour/led.cc @@ -28,9 +28,7 @@ using namespace Gtk; using namespace Glib; LED::LED() - : _visual_state (0) - , _active (false) - , _diameter (0.0) + : _diameter (0.0) , _fixed_diameter (false) , _red (0.0) , _green (1.0) @@ -94,14 +92,14 @@ LED::render (cairo_t* cr) cairo_fill(cr); //knob color - cairo_set_source_rgba (cr, _red, _green, _blue, _active ? 0.8 : 0.2); + cairo_set_source_rgba (cr, _red, _green, _blue, (active_state() == Active) ? 0.8 : 0.2); cairo_arc (cr, 0, 0, _diameter/2-3, 0, 2 * M_PI); cairo_fill(cr); //reflection cairo_scale(cr, 0.7, 0.7); cairo_pattern_t *pat2 = cairo_pattern_create_linear (0.0, 0.0, 0.0, _diameter/2-3); - cairo_pattern_add_color_stop_rgba (pat2, 0, 1,1,1, _active ? 0.4 : 0.2); + cairo_pattern_add_color_stop_rgba (pat2, 0, 1,1,1, active_state() ? 0.4 : 0.2); cairo_pattern_add_color_stop_rgba (pat2, 1, 1,1,1, 0.0); cairo_arc (cr, 0, 0, _diameter/2-3, 0, 2 * M_PI); cairo_set_source (cr, pat2); @@ -112,24 +110,6 @@ LED::render (cairo_t* cr) } void -LED::set_active (bool yn) -{ - _active = yn; - _visual_state = (yn ? 1 : 0); - set_colors_from_style (); -} - -void -LED::set_visual_state (int32_t s) -{ - if (s != _visual_state) { - - _visual_state = s; - set_colors_from_style (); - } -} - -void LED::set_diameter (float d) { _diameter = (d*2) + 5.0; |