summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2012-02-03 19:10:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2012-02-03 19:10:39 +0000
commitcde108107dedac3c2569e477e4beb5aa0daebcbe (patch)
tree9c77481c2017665d3d208f40f710d10f9366cc16
parent1f0f5e89bbbb1eaaad5e672d249c4d127799bb42 (diff)
tweak button joiner colors by making them grab border color from the relevant button type
git-svn-id: svn://localhost/ardour2/branches/3.0@11441 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/button_joiner.cc24
-rw-r--r--gtk2_ardour/button_joiner.h4
2 files changed, 20 insertions, 8 deletions
diff --git a/gtk2_ardour/button_joiner.cc b/gtk2_ardour/button_joiner.cc
index 506b208f22..a12b35bf51 100644
--- a/gtk2_ardour/button_joiner.cc
+++ b/gtk2_ardour/button_joiner.cc
@@ -13,16 +13,16 @@
using namespace Gtk;
-ButtonJoiner::ButtonJoiner (const std::string& str, Gtk::Widget& l, Gtk::Widget& r)
- : left (l)
- , right (r)
+ButtonJoiner::ButtonJoiner (const std::string& str, Gtk::Widget& lw, Gtk::Widget& rw)
+ : left (lw)
+ , right (rw)
, name (str)
, active_fill_pattern (0)
, inactive_fill_pattern (0)
{
packer.set_homogeneous (true);
- packer.pack_start (l);
- packer.pack_start (r);
+ packer.pack_start (left);
+ packer.pack_start (right);
packer.show ();
align.add (packer);
@@ -35,12 +35,22 @@ ButtonJoiner::ButtonJoiner (const std::string& str, Gtk::Widget& l, Gtk::Widget&
add_events (Gdk::BUTTON_PRESS_MASK|Gdk::BUTTON_RELEASE_MASK|
Gdk::ENTER_NOTIFY_MASK|Gdk::LEAVE_NOTIFY_MASK);
+ uint32_t border_color;
+ uint32_t r, g, b, a;
+
+ border_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1: border end", name));
+ UINT_TO_RGBA (border_color, &r, &g, &b, &a);
+
+ border_r = r/255.0;
+ border_g = g/255.0;
+ border_b = b/255.0;
+
/* child cairo widgets need the color of the inner edge as their
* "background"
*/
Gdk::Color col;
- col.set_rgb_p (0.172, 0.192, 0.364);
+ col.set_rgb_p (border_r, border_g, border_b);
provide_background_for_cairo_widget (*this, col);
}
@@ -71,7 +81,7 @@ ButtonJoiner::render (cairo_t* cr)
/* outer edge */
cairo_set_line_width (cr, 1);
- cairo_set_source_rgb (cr, 0.172, 0.192, 0.364);
+ cairo_set_source_rgb (cr, border_r, border_g, border_b);
cairo_stroke (cr);
/* inner "edge" */
diff --git a/gtk2_ardour/button_joiner.h b/gtk2_ardour/button_joiner.h
index 1f0fc573ca..b7e734a11d 100644
--- a/gtk2_ardour/button_joiner.h
+++ b/gtk2_ardour/button_joiner.h
@@ -35,7 +35,9 @@ class ButtonJoiner : public CairoWidget, public Gtkmm2ext::Activatable {
std::string name;
cairo_pattern_t* active_fill_pattern;
cairo_pattern_t* inactive_fill_pattern;
-
+ double border_r;
+ double border_g;
+ double border_b;
void set_colors ();
};