summaryrefslogtreecommitdiff
path: root/gtk2_ardour/led.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2011-10-27 11:24:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2011-10-27 11:24:43 +0000
commit892f3c361e1b6d22da7f38194ec42182c185b14e (patch)
tree56b5c50708c8310134acc1af34c16e21c1de8ebd /gtk2_ardour/led.cc
parent24765e845965211e0731c577a2bfcd6f76de9674 (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.cc26
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;