X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fpanner.cc;h=145ef020e3fc1deeecda716ecd1c22e24d208be5;hb=71a4796dc3dbf8a7fe1df5c5d7acea388b40eae0;hp=80b401acfec0516722bcf58d5b34e6580639c64d;hpb=64524c0ba40b9f69f06a395f8763615700244fda;p=ardour.git diff --git a/gtk2_ardour/panner.cc b/gtk2_ardour/panner.cc index 80b401acfe..145ef020e3 100644 --- a/gtk2_ardour/panner.cc +++ b/gtk2_ardour/panner.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2000-2007 Paul Davis + Copyright (C) 2000-2007 Paul Davis This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -52,13 +52,13 @@ PannerBar::expose (GdkEventExpose* ev) GdkPoint points[3]; // left - + points[0].x = 0; points[0].y = 0; points[1].x = triangle_size; points[1].y = 0; - + points[2].x = 0; points[2].y = triangle_size; @@ -71,11 +71,11 @@ PannerBar::expose (GdkEventExpose* ev) points[1].x = (darea.get_width()/2 + triangle_size); points[1].y = 0; - + points[2].x = darea.get_width()/2; points[2].y = triangle_size - 1; - gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3); + gdk_draw_polygon (win->gobj(), gc->gobj(), true, points, 3); // right @@ -84,7 +84,7 @@ PannerBar::expose (GdkEventExpose* ev) points[1].x = darea.get_width(); points[1].y = 0; - + points[2].x = darea.get_width(); points[2].y = triangle_size; @@ -164,32 +164,10 @@ bool PannerBar::entry_output () { Entry* e = dynamic_cast (&spinner); - e->set_text (value_as_string (spinner.get_adjustment()->get_value())); + e->set_text (ARDOUR::Panner::value_as_string (spinner.get_adjustment()->get_value())); return true; } -string -PannerBar::value_as_string (double v) const -{ - if (ARDOUR::Panner::equivalent (v, 0.5)) { - return _("C"); - } else if (ARDOUR::Panner::equivalent (v, 0)) { - return _("L"); - } else if (ARDOUR::Panner::equivalent (v, 1)) { - return _("R"); - } else if (v < 0.5) { - std::stringstream s; - s << fixed << setprecision (0) << _("L") << ((0.5 - v) * 200) << "%"; - return s.str(); - } else if (v > 0.5) { - std::stringstream s; - s << fixed << setprecision (0) << _("R") << ((v -0.5) * 200) << "%"; - return s.str (); - } - - return ""; -} - std::string PannerBar::get_label (int& x) { @@ -198,7 +176,7 @@ PannerBar::get_label (int& x) if (ARDOUR::Panner::equivalent (value, 0.5)) { /* centre: only display text during a drag */ - + if (!grabbed) { return ""; } @@ -206,19 +184,19 @@ PannerBar::get_label (int& x) } else { /* non-centre: display text on the side of the panner which has more space */ - + Glib::RefPtr p = get_pango_context (); Glib::RefPtr l = Pango::Layout::create (p); - l->set_text (value_as_string (value)); + l->set_text (ARDOUR::Panner::value_as_string (value)); Pango::Rectangle const ext = l->get_ink_extents (); - + if (value < 0.5) { x = (darea.get_width() - 4 - ext.get_width() / Pango::SCALE); } else { x = 4; } } - - return value_as_string (value); + + return ARDOUR::Panner::value_as_string (value); }