X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Faxis_view.cc;h=eb3ef23bc64a05925746f8c824478158e6f94917;hb=d8e93be2ee68fc6a18a7ca17d36ffc67c94207b3;hp=123f9b4b5733e3cfe50de378db123089886c3e49;hpb=e493b2b7c4fbbbfc457f02babf9546289b430177;p=ardour.git diff --git a/gtk2_ardour/axis_view.cc b/gtk2_ardour/axis_view.cc index 123f9b4b57..eb3ef23bc6 100644 --- a/gtk2_ardour/axis_view.cc +++ b/gtk2_ardour/axis_view.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2003 Paul Davis + Copyright (C) 2003 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 @@ -15,7 +15,6 @@ along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - $Id$ */ #include @@ -26,40 +25,42 @@ #include -#include +#include "pbd/error.h" #include #include #include -#include -#include +#include "ardour/session.h" +#include "ardour/utils.h" #include "public_editor.h" #include "axis_view.h" #include "i18n.h" +using namespace std; using namespace Gtk; using namespace Gtkmm2ext; +using namespace ARDOUR; +list AxisView::used_colors; -list AxisView::used_colors; - -AxisView::AxisView (ARDOUR::Session& sess) : _session(sess) +AxisView::AxisView (ARDOUR::Session* sess) + : SessionHandlePtr (sess) { _selected = false; + _marked_for_display = false; } AxisView::~AxisView() { - } -GdkColor +Gdk::Color AxisView::unique_random_color() { - GdkColor newcolor; - + Gdk::Color newcolor; + while (1) { /* avoid neon/glowing tones by limiting them to the @@ -68,22 +69,22 @@ AxisView::unique_random_color() const int32_t max_saturation = 48000; // 65535 would open up the whole color wheel - newcolor.red = random() % max_saturation; - newcolor.blue = random() % max_saturation; - newcolor.green = random() % max_saturation; + newcolor.set_red (random() % max_saturation); + newcolor.set_blue (random() % max_saturation); + newcolor.set_green (random() % max_saturation); if (used_colors.size() == 0) { used_colors.push_back (newcolor); return newcolor; } - - for (list::iterator i = used_colors.begin(); i != used_colors.end(); ++i) { - GdkColor c = *i; + + for (list::iterator i = used_colors.begin(); i != used_colors.end(); ++i) { + Gdk::Color c = *i; float rdelta, bdelta, gdelta; - - rdelta = newcolor.red - c.red; - bdelta = newcolor.blue - c.blue; - gdelta = newcolor.green - c.green; + + rdelta = newcolor.get_red() - c.get_red(); + bdelta = newcolor.get_blue() - c.get_blue(); + gdelta = newcolor.get_green() - c.get_green(); if (sqrt (rdelta*rdelta + bdelta*bdelta + gdelta*gdelta) > 25.0) { used_colors.push_back (newcolor);