summaryrefslogtreecommitdiff
path: root/gtk2_ardour/panner2d.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-06-17 15:51:49 +0200
committerRobin Gareus <robin@gareus.org>2014-06-17 16:19:58 +0200
commit1f46e75ac96cafffda4f7e6aed0c007c5e8975b1 (patch)
tree1a367314dca5f9b5703f4748d759e1914eb63424 /gtk2_ardour/panner2d.cc
parent472d0ad2c62f6c3e730981ffa55ae14159d87f74 (diff)
highlight send-panner
Diffstat (limited to 'gtk2_ardour/panner2d.cc')
-rw-r--r--gtk2_ardour/panner2d.cc20
1 files changed, 18 insertions, 2 deletions
diff --git a/gtk2_ardour/panner2d.cc b/gtk2_ardour/panner2d.cc
index a3befff5cf..35f573bcf1 100644
--- a/gtk2_ardour/panner2d.cc
+++ b/gtk2_ardour/panner2d.cc
@@ -75,6 +75,7 @@ Panner2d::Panner2d (boost::shared_ptr<PannerShell> p, int32_t h)
, height (h)
, last_width (0)
, have_elevation (false)
+ , _send_mode (false)
{
panner_shell->Changed.connect (panshell_connections, invalidator (*this), boost::bind (&Panner2d::handle_state_change, this), gui_context());
@@ -378,6 +379,15 @@ Panner2d::find_closest_object (gdouble x, gdouble y, bool& is_signal)
return closest;
}
+void
+Panner2d::set_send_drawing_mode (bool onoff)
+{
+ if (_send_mode != onoff) {
+ _send_mode = onoff;
+ queue_draw ();
+ }
+}
+
bool
Panner2d::on_motion_notify_event (GdkEventMotion *ev)
{
@@ -412,10 +422,16 @@ Panner2d::on_expose_event (GdkEventExpose *event)
/* background */
cairo_rectangle (cr, event->area.x, event->area.y, event->area.width, event->area.height);
+
+ float r, g, b;
+ r = g = b = 0.1;
+ if (_send_mode) {
+ rgba_p_from_style("SendStripBase", &r, &g, &b, "fg");
+ }
if (!panner_shell->bypassed()) {
- cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, 1.0);
+ cairo_set_source_rgba (cr, r, g, b, 1.0);
} else {
- cairo_set_source_rgba (cr, 0.1, 0.1, 0.1, 0.2);
+ cairo_set_source_rgba (cr, r, g, b , 0.2);
}
cairo_fill_preserve (cr);
cairo_clip (cr);