diff options
author | Robin Gareus <robin@gareus.org> | 2016-05-17 18:17:51 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2016-05-17 18:17:51 +0200 |
commit | 742e113a7b5b4dba70a12c052af19ef859d7bcb5 (patch) | |
tree | 56fad7f5a862f8f6bd70420b51f1c933071fbc59 /libs/canvas | |
parent | 8fc5b5c06040ad8140ba0122f064e839fd2c611c (diff) |
backport canvas color functions from Mixbus
Diffstat (limited to 'libs/canvas')
-rw-r--r-- | libs/canvas/canvas/colors.h | 1 | ||||
-rw-r--r-- | libs/canvas/colors.cc | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/libs/canvas/canvas/colors.h b/libs/canvas/canvas/colors.h index 2a3cbb2060..b2f6c1e2ff 100644 --- a/libs/canvas/canvas/colors.h +++ b/libs/canvas/canvas/colors.h @@ -35,6 +35,7 @@ extern LIBCANVAS_API Color change_alpha (Color, double alpha); extern LIBCANVAS_API Color hsva_to_color (double h, double s, double v, double a = 1.0); extern LIBCANVAS_API void color_to_hsva (Color color, double& h, double& s, double& v, double& a); +extern LIBCANVAS_API Color color_at_alpha (Color, double a); extern LIBCANVAS_API void color_to_hsv (Color color, double& h, double& s, double& v); extern LIBCANVAS_API void color_to_rgba (Color, double& r, double& g, double& b, double& a); extern LIBCANVAS_API Color rgba_to_color (double r, double g, double b, double a); diff --git a/libs/canvas/colors.cc b/libs/canvas/colors.cc index 9b30c1230a..dd928ae1a2 100644 --- a/libs/canvas/colors.cc +++ b/libs/canvas/colors.cc @@ -658,3 +658,10 @@ SVAModifier::operator () (HSV& hsv) const return r; } +ArdourCanvas::Color +ArdourCanvas::color_at_alpha (ArdourCanvas::Color c, double a) +{ + double r, g, b, unused; + color_to_rgba (c, r, g, b, unused); + return rgba_to_color( r,g,b, a ); +} |