summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_patterns.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-24 22:05:24 +0200
committerRobin Gareus <robin@gareus.org>2013-07-24 22:05:24 +0200
commite469ce0961196a3075c391b2256c84e6042c1e2a (patch)
tree2c9c59a4ed3b6aa9b5d5820c540aecbac24ab3b8 /gtk2_ardour/meter_patterns.cc
parentb70057f5769bcb52ddd3072282d419d38b829a45 (diff)
get meter color from gtkrc style file
Diffstat (limited to 'gtk2_ardour/meter_patterns.cc')
-rw-r--r--gtk2_ardour/meter_patterns.cc28
1 files changed, 22 insertions, 6 deletions
diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc
index 4cd96f2433..0182cc3e89 100644
--- a/gtk2_ardour/meter_patterns.cc
+++ b/gtk2_ardour/meter_patterns.cc
@@ -200,10 +200,14 @@ static inline float mtr_col_and_fract(
}
static void set_bg_color(Gtk::Widget& w, cairo_t* cr, MeterType type) {
- // TODO use "meterstrip*" stype
+ float r,g,b;
switch(type) {
case MeterVU:
- cairo_set_source_rgb (cr, 1.0, 1.0, 0.85);
+ if (rgba_p_from_style("meterstripVU", &r, &g, &b, "bg")) {
+ cairo_set_source_rgb (cr, r, g, b);
+ } else {
+ cairo_set_source_rgb (cr, 1.0, 1.0, 0.85);
+ }
break;
case MeterIEC1DIN:
case MeterIEC1NOR:
@@ -211,7 +215,11 @@ static void set_bg_color(Gtk::Widget& w, cairo_t* cr, MeterType type) {
case MeterIEC2EBU:
case MeterK14:
case MeterK20:
- cairo_set_source_rgb (cr, 0.1, 0.1, 0.1);
+ if (rgba_p_from_style("meterstripPPM", &r, &g, &b, "bg")) {
+ cairo_set_source_rgb (cr, r, g, b);
+ } else {
+ cairo_set_source_rgb (cr, 0.1, 0.1, 0.1);
+ }
break;
default:
{
@@ -223,13 +231,21 @@ static void set_bg_color(Gtk::Widget& w, cairo_t* cr, MeterType type) {
}
static void set_fg_color(Gtk::Widget& w, MeterType type, Gdk::Color * c) {
- // TODO use "meterstrip*" stype
+ float r,g,b;
switch(type) {
case MeterVU:
- c->set_rgb_p(0.0, 0.0, 0.0);
+ if (rgba_p_from_style("meterstripVU", &r, &g, &b)) {
+ c->set_rgb_p(r, g, b);
+ } else {
+ c->set_rgb_p(0.0, 0.0, 0.0);
+ }
break;
default:
- c->set_rgb_p(1.0, 1.0, 1.0);
+ if (rgba_p_from_style("meterstripPPM", &r, &g, &b)) {
+ c->set_rgb_p(r, g, b);
+ } else {
+ c->set_rgb_p(1.0, 1.0, 1.0);
+ }
break;
}
}