diff options
author | Ben Loftis <ben@harrisonconsoles.com> | 2014-07-22 10:17:09 -0500 |
---|---|---|
committer | Ben Loftis <ben@harrisonconsoles.com> | 2014-07-22 10:17:09 -0500 |
commit | 25024e550ace5961e866803b21afbd0a2b9997ea (patch) | |
tree | 79292fbe795f24d053246e0402c8e9abbacec58a /gtk2_ardour/ardour_knob.cc | |
parent | 5424119b559fc6f68ca0d85c22a4866739c2ab73 (diff) |
Remove troublesome cairo antialiasing hint.
Tweak knob gfx slightly.
Diffstat (limited to 'gtk2_ardour/ardour_knob.cc')
-rw-r--r-- | gtk2_ardour/ardour_knob.cc | 24 |
1 files changed, 9 insertions, 15 deletions
diff --git a/gtk2_ardour/ardour_knob.cc b/gtk2_ardour/ardour_knob.cc index a125588db7..ade83e504c 100644 --- a/gtk2_ardour/ardour_knob.cc +++ b/gtk2_ardour/ardour_knob.cc @@ -83,8 +83,6 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) float value_x = cos (value_angle); float value_y = sin (value_angle); - cairo_set_antialias( cr, CAIRO_ANTIALIAS_BEST ); - float xc = 0.5 + width/ 2.0; float yc = 0.5 + height/ 2.0; @@ -94,15 +92,16 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) ArdourCanvas::Color knob_color = ARDOUR_UI::config()->color_by_name (string_compose ("%1", get_name())); float center_radius = 0.48*scale; + float border_width = 0.8; bool arc = (_elements & Arc)==Arc; bool bevel = (_elements & Bevel)==Bevel; bool flat = ARDOUR_UI::config()->get_flat_buttons(); if ( arc ) { - center_radius = scale*0.25; + center_radius = scale*0.30; - float inner_progress_radius = scale*0.25; + float inner_progress_radius = scale*0.30; float outer_progress_radius = scale*0.48; float progress_width = (outer_progress_radius-inner_progress_radius); float progress_radius = inner_progress_radius + progress_width/2.0; @@ -151,7 +150,7 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) //black border cairo_set_source_rgb (cr, 0, 0, 0 ); - cairo_set_line_width (cr, 1.0); + cairo_set_line_width (cr, border_width); cairo_move_to (cr, (outer_progress_radius * start_angle_x), (outer_progress_radius * start_angle_y)); cairo_line_to (cr, (inner_progress_radius * start_angle_x), (inner_progress_radius * start_angle_y)); cairo_stroke (cr); @@ -171,11 +170,6 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) cairo_fill (cr); cairo_restore(cr); - //black border - cairo_set_source_rgb (cr, 0, 0, 0 ); - cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); - cairo_stroke (cr); - //inner circle ArdourCanvas::set_source_rgba(cr, knob_color); cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); @@ -218,7 +212,7 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) //black knob border - cairo_set_line_width (cr, 1); + cairo_set_line_width (cr, border_width); cairo_set_source_rgba (cr, 0,0,0, 1 ); cairo_arc (cr, 0, 0, center_radius, 0, 2.0*G_PI); cairo_stroke (cr); @@ -226,8 +220,8 @@ ArdourKnob::render (cairo_t* cr, cairo_rectangle_t *) //line shadow if (!flat) { cairo_save(cr); - cairo_translate(cr, 2, 2 ); - cairo_set_source_rgba (cr, 0,0,0,0.5 ); + cairo_translate(cr, 1, 1 ); + cairo_set_source_rgba (cr, 0,0,0,0.3 ); cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); cairo_set_line_width (cr, pointer_thickness); cairo_move_to (cr, (center_radius * value_x), (center_radius * value_y)); @@ -283,8 +277,8 @@ ArdourKnob::on_scroll_event (GdkEventScroll* ev) if ( ev->direction == GDK_SCROLL_UP ) val += scale; else - val -= scale; - + val -= scale; + c->set_interface(val); } |