From 742e113a7b5b4dba70a12c052af19ef859d7bcb5 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 17 May 2016 18:17:51 +0200 Subject: [PATCH] backport canvas color functions from Mixbus --- libs/canvas/canvas/colors.h | 1 + libs/canvas/colors.cc | 7 +++++++ 2 files changed, 8 insertions(+) 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 ); +}