diff --git a/libs/gtkmm2ext/colors.cc b/libs/gtkmm2ext/colors.cc index a072cc4996..b2534b60be 100644 --- a/libs/gtkmm2ext/colors.cc +++ b/libs/gtkmm2ext/colors.cc @@ -21,6 +21,7 @@ #include #include #include +#include #include "pbd/failed_constructor.h" #include "pbd/string_convert.h" @@ -698,3 +699,9 @@ Gtkmm2ext::set_source_rgb_a (cairo_t *cr, Color color, float alpha) alpha ); } + +Color +Gtkmm2ext::random_color () +{ + return ((random() % 16777215) << 8 | 0xff); +} diff --git a/libs/gtkmm2ext/gtkmm2ext/colors.h b/libs/gtkmm2ext/gtkmm2ext/colors.h index 426a51aa44..56707cb509 100644 --- a/libs/gtkmm2ext/gtkmm2ext/colors.h +++ b/libs/gtkmm2ext/gtkmm2ext/colors.h @@ -31,6 +31,8 @@ namespace Gtkmm2ext typedef uint32_t Color; +extern LIBGTKMM2EXT_API Color random_color (); + /* conventient way to use Gtkmm2ext::Color with libcairo */ extern LIBGTKMM2EXT_API void set_source_rgba (Cairo::RefPtr, Gtkmm2ext::Color); extern LIBGTKMM2EXT_API void set_source_rgb_a (Cairo::RefPtr, Gtkmm2ext::Color, float alpha); //override the color's alpha