summaryrefslogtreecommitdiff
path: root/gtk2_ardour/utils.cc
diff options
context:
space:
mode:
authorJohn Emmas <johne53@tiscali.co.uk>2013-09-21 09:17:25 +0100
committerJohn Emmas <johne53@tiscali.co.uk>2013-09-21 09:17:25 +0100
commit19bb2b33a89a1291451f0740739a36daebe00bae (patch)
treed0cafb4792ec4ff61d04d16c1e86199b2714a36f /gtk2_ardour/utils.cc
parent66aa6dfc8ecdb7591768bc45866a8c2b0d77e767 (diff)
parentfd23ebd0886cd61f8ee68d52d6576d00a16c9032 (diff)
Merge remote-tracking branch 'remotes/origin/cairocanvas' into windows
Conflicts (hopefully resolved): gtk2_ardour/marker.cc gtk2_ardour/midi_region_view.h gtk2_ardour/region_gain_line.h gtk2_ardour/utils.cc gtk2_ardour/video_image_frame.cc gtk2_ardour/wscript libs/backends/jack/wscript
Diffstat (limited to 'gtk2_ardour/utils.cc')
-rw-r--r--gtk2_ardour/utils.cc39
1 files changed, 10 insertions, 29 deletions
diff --git a/gtk2_ardour/utils.cc b/gtk2_ardour/utils.cc
index bbce202ad1..eb370be0dc 100644
--- a/gtk2_ardour/utils.cc
+++ b/gtk2_ardour/utils.cc
@@ -31,7 +31,6 @@
#include <fstream>
#include <list>
#include <sys/stat.h>
-#include <libart_lgpl/art_misc.h>
#include <gtkmm/rc.h>
#include <gtkmm/window.h>
#include <gtkmm/combo.h>
@@ -44,8 +43,8 @@
#include <gtkmm2ext/utils.h>
#include "ardour/rc_configuration.h"
-
#include "ardour/filesystem_paths.h"
+#include "canvas/item.h"
#include "ardour_ui.h"
#include "debug.h"
@@ -54,7 +53,6 @@
#include "utils.h"
#include "i18n.h"
#include "rgb_macros.h"
-#include "canvas_impl.h"
#include "gui_thread.h"
using namespace std;
@@ -201,18 +199,6 @@ xpm2rgba (const char** xpm, uint32_t& w, uint32_t& h)
return (savergb);
}
-ArdourCanvas::Points*
-get_canvas_points (string /*who*/, uint32_t npoints)
-{
- // cerr << who << ": wants " << npoints << " canvas points" << endl;
-#ifdef TRAP_EXCESSIVE_POINT_REQUESTS
- if (npoints > (uint32_t) gdk_screen_width() + 4) {
- abort ();
- }
-#endif
- return new ArdourCanvas::Points (npoints);
-}
-
Pango::FontDescription
get_font_for_style (string widgetname)
{
@@ -348,12 +334,6 @@ rgba_p_from_style (string style, float *r, float *g, float *b, string attr, int
return true;
}
-bool
-canvas_item_visible (ArdourCanvas::Item* item)
-{
- return (item->gobj()->object.flags & GNOME_CANVAS_ITEM_VISIBLE) ? true : false;
-}
-
void
set_color (Gdk::Color& c, int rgb)
{
@@ -401,7 +381,7 @@ emulate_key_event (Gtk::Widget* w, unsigned int keyval)
ev.state = 0;
ev.keyval = keyval;
ev.length = 0;
- ev.string = (const gchar*) "";
+ ev.string = const_cast<gchar*> ("");
ev.hardware_keycode = keymapkey[0].keycode;
ev.group = keymapkey[0].group;
g_free(keymapkey);
@@ -830,15 +810,15 @@ unique_random_color (list<Gdk::Color>& used_colors)
while (1) {
- /* avoid neon/glowing tones by limiting them to the
- "inner section" (paler) of a color wheel/circle.
- */
+ double h, s, v;
- const int32_t max_saturation = 48000; // 65535 would open up the whole color wheel
+ h = fmod (random(), 360.0);
+ s = (random() % 65535) / 65535.0;
+ v = (random() % 65535) / 65535.0;
- newcolor.set_red (g_random_int() % max_saturation);
- newcolor.set_blue (g_random_int() % max_saturation);
- newcolor.set_green (g_random_int() % max_saturation);
+ s = min (0.5, s); /* not too saturated */
+ v = max (0.9, v); /* not too bright */
+ newcolor.set_hsv (h, s, v);
if (used_colors.size() == 0) {
used_colors.push_back (newcolor);
@@ -854,6 +834,7 @@ unique_random_color (list<Gdk::Color>& used_colors)
gdelta = newcolor.get_green() - c.get_green();
if (sqrt (rdelta*rdelta + bdelta*bdelta + gdelta*gdelta) > 25.0) {
+ /* different enough */
used_colors.push_back (newcolor);
return newcolor;
}