From 001072e7d0ad136b6b05ac07a9b9f23c7f832bad Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 21 Jul 2020 01:51:18 +0200 Subject: [PATCH] Implement ArdourKnob visual sensitivity --- libs/widgets/ardour_knob.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/libs/widgets/ardour_knob.cc b/libs/widgets/ardour_knob.cc index e69ed1fda0..7f6fddf0dc 100644 --- a/libs/widgets/ardour_knob.cc +++ b/libs/widgets/ardour_knob.cc @@ -260,9 +260,17 @@ ArdourKnob::render (Cairo::RefPtr const& ctx, cairo_rectangle_t* cairo_line_to (cr, ((center_radius*0.4) * value_x), ((center_radius*0.4) * value_y)); cairo_stroke (cr); + // a transparent overlay to indicate insensitivity + if (!sensitive ()) { + cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); + uint32_t ins_color = UIConfigurationBase::instance().color ("gtk_background"); + Gtkmm2ext::set_source_rgb_a (cr, ins_color, 0.6); + cairo_fill (cr); + } + //highlight if grabbed or if mouse is hovering over me if (_tooltip.dragging() || (_hovering && UIConfigurationBase::instance().get_widget_prelight() ) ) { - cairo_set_source_rgba (cr, 1,1,1, 0.12 ); + cairo_set_source_rgba (cr, 1,1,1, 0.12); cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); cairo_fill (cr); }