summaryrefslogtreecommitdiff
path: root/gtk2_ardour/meter_patterns.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2013-07-05 14:55:07 +0200
committerRobin Gareus <robin@gareus.org>2013-07-10 15:27:10 +0200
commitce016589422986aa1350f097d001a7206e8ae4f9 (patch)
treeef0142582cbed53e7fe77a032111a5016c61154f /gtk2_ardour/meter_patterns.cc
parent68762b9efdb2f289691586e817835c70251fc1b3 (diff)
add meter ticks to mixer..
Diffstat (limited to 'gtk2_ardour/meter_patterns.cc')
-rw-r--r--gtk2_ardour/meter_patterns.cc12
1 files changed, 9 insertions, 3 deletions
diff --git a/gtk2_ardour/meter_patterns.cc b/gtk2_ardour/meter_patterns.cc
index f7e1226b13..6069bcb343 100644
--- a/gtk2_ardour/meter_patterns.cc
+++ b/gtk2_ardour/meter_patterns.cc
@@ -43,8 +43,12 @@ meter_render_ticks (Gtk::Widget& w, vector<ARDOUR::DataType> types)
{
Glib::RefPtr<Gdk::Window> win (w.get_window());
+ bool background;
gint width, height;
win->get_size (width, height);
+ background =
+ w.get_name().substr(w.get_name().length() - 4) == "Left"
+ || w.get_name().substr(w.get_name().length() - 5) == "Right";
cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
cairo_t* cr = cairo_create (surface);
@@ -52,7 +56,7 @@ meter_render_ticks (Gtk::Widget& w, vector<ARDOUR::DataType> types)
cairo_move_to (cr, 0, 0);
cairo_rectangle (cr, 0, 0, width, height);
{
- Gdk::Color c = w.get_style()->get_bg (Gtk::STATE_ACTIVE);
+ Gdk::Color c = w.get_style()->get_bg (background ? Gtk::STATE_ACTIVE : Gtk::STATE_NORMAL);
cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
}
cairo_fill (cr);
@@ -184,11 +188,13 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
{
Glib::RefPtr<Gdk::Window> win (w.get_window());
- bool tickleft = true;
+ bool tickleft;
+ bool background;
gint width, height;
win->get_size (width, height);
tickleft = w.get_name().substr(w.get_name().length() - 4) == "Left";
+ background = tickleft || w.get_name().substr(w.get_name().length() - 5) == "Right";
cairo_surface_t* surface = cairo_image_surface_create (CAIRO_FORMAT_RGB24, width, height);
cairo_t* cr = cairo_create (surface);
@@ -226,7 +232,7 @@ meter_render_metrics (Gtk::Widget& w, vector<DataType> types)
cairo_move_to (cr, 0, 0);
cairo_rectangle (cr, 0, 0, width, height);
{
- Gdk::Color c = w.get_style()->get_bg (Gtk::STATE_ACTIVE);
+ Gdk::Color c = w.get_style()->get_bg (background ? Gtk::STATE_ACTIVE : Gtk::STATE_NORMAL);
cairo_set_source_rgb (cr, c.get_red_p(), c.get_green_p(), c.get_blue_p());
}
cairo_fill (cr);