diff options
author | Benjamin Otte <otte@redhat.com> | 2012-11-25 03:24:47 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2012-11-25 03:25:15 +0100 |
commit | 9aac4dffc537e7cb9f4eb86b1f3197394a884319 (patch) | |
tree | 2df665e2aa3b849407ff2757568c534d34186170 /gtk/gtkhsla.c | |
parent | 4f9a8e6b3d16f3a12aade5e40f45e02094545f1f (diff) | |
download | gtk+-9aac4dffc537e7cb9f4eb86b1f3197394a884319.tar.gz |
hsla: Add _gtk_hsla_shade()
We use it in multiple places, so better split it out.
Diffstat (limited to 'gtk/gtkhsla.c')
-rw-r--r-- | gtk/gtkhsla.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/gtk/gtkhsla.c b/gtk/gtkhsla.c index a78849789d..78ccaec19f 100644 --- a/gtk/gtkhsla.c +++ b/gtk/gtkhsla.c @@ -183,3 +183,21 @@ _gdk_rgba_init_from_hsla (GdkRGBA *rgba, } } +void +_gtk_hsla_shade (GtkHSLA *dest, + const GtkHSLA *src, + double factor) +{ + g_return_if_fail (dest != NULL); + g_return_if_fail (src != NULL); + + dest->hue = src->hue; + + dest->lightness = src->lightness * factor; + dest->lightness = CLAMP (dest->lightness, 0.0, 1.0); + + dest->saturation = src->saturation * factor; + dest->saturation = CLAMP (dest->saturation, 0.0, 1.0); + + dest->alpha = src->alpha; +} |