diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2014-08-27 10:55:01 -0500 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2014-08-27 10:55:01 -0500 |
commit | e7a15027e8358fdd5f3806416e9757f56d178736 (patch) | |
tree | f1de310352f062dcec2d4ed69a4c75a13450e7c9 /gtk2_ardour/ardour_button.cc | |
parent | 5db98d9372e44d9bb68932ebd369cad271b4b991 (diff) |
refactor flat_buttons into cairowidget, and add a canvas-like convenience function for setting cairo color with a Gtk::Color
Diffstat (limited to 'gtk2_ardour/ardour_button.cc')
-rw-r--r-- | gtk2_ardour/ardour_button.cc | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/gtk2_ardour/ardour_button.cc b/gtk2_ardour/ardour_button.cc index 4cfa5f2562..ab8ae7783b 100644 --- a/gtk2_ardour/ardour_button.cc +++ b/gtk2_ardour/ardour_button.cc @@ -54,7 +54,6 @@ using namespace std; ArdourButton::Element ArdourButton::default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Text); ArdourButton::Element ArdourButton::led_default_elements = ArdourButton::Element (ArdourButton::default_elements|ArdourButton::Indicator); ArdourButton::Element ArdourButton::just_led_default_elements = ArdourButton::Element (ArdourButton::Edge|ArdourButton::Body|ArdourButton::Indicator); -bool ArdourButton::_flat_buttons = false; ArdourButton::ArdourButton (Element e) : _elements (e) @@ -398,15 +397,17 @@ ArdourButton::render (cairo_t* cr, cairo_rectangle_t *) } //inset - cairo_arc (cr, 0, 0, _diameter/2, 0, 2 * M_PI); - cairo_set_source (cr, led_inset_pattern); - cairo_fill (cr); - + if (!_flat_buttons) { + cairo_arc (cr, 0, 0, _diameter/2, 0, 2 * M_PI); + cairo_set_source (cr, led_inset_pattern); + cairo_fill (cr); + } + //black ring cairo_set_source_rgb (cr, 0, 0, 0); - cairo_arc (cr, 0, 0, _diameter/2-2, 0, 2 * M_PI); + cairo_arc (cr, 0, 0, _diameter/2-1, 0, 2 * M_PI); cairo_fill(cr); - + //led color ArdourCanvas::set_source_rgba (cr, led_color); cairo_arc (cr, 0, 0, _diameter/2-3, 0, 2 * M_PI); @@ -977,9 +978,3 @@ ArdourButton::add_elements (Element e) { _elements = (ArdourButton::Element) (_elements | e); } - -void -ArdourButton::set_flat_buttons (bool yn) -{ - _flat_buttons = yn; -} |