diff options
author | nobody <nobody@localhost> | 2001-03-02 09:33:29 +0800 |
---|---|---|
committer | nobody <nobody@localhost> | 2001-03-02 09:33:29 +0800 |
commit | c67d4e606d20b6fdb598372b4666ace16611da98 (patch) | |
tree | cda39502324bf50b451e5c7f58e5dee7c7476bad /notes/e-bevel-button-util.c | |
parent | 50ef074887b43f43dad3edb120d9abf30092c681 (diff) | |
download | gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar.gz gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar.bz2 gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar.lz gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar.xz gsoc2013-evolution-GNOME_CORE_1_4_0_1.tar.zst gsoc2013-evolution-GNOME_CORE_1_4_0_1.zip |
This commit was manufactured by cvs2svn to create tagGNOME_CORE_1_4_0_1
'GNOME_CORE_1_4_0_1'.
svn path=/tags/GNOME_CORE_1_4_0_1/; revision=8491
Diffstat (limited to 'notes/e-bevel-button-util.c')
-rw-r--r-- | notes/e-bevel-button-util.c | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/notes/e-bevel-button-util.c b/notes/e-bevel-button-util.c deleted file mode 100644 index cfa01f71a2..0000000000 --- a/notes/e-bevel-button-util.c +++ /dev/null @@ -1,189 +0,0 @@ -#include <gtk/gtk.h> -#include "e-bevel-button-util.h" - -static void rgb_to_hls (gdouble *r, gdouble *g, gdouble *b); -static void hls_to_rgb (gdouble *h, gdouble *l, gdouble *s); - -void -e_bevel_button_util_shade (GdkColor *a, - GdkColor *b, - gdouble k) -{ - gdouble red; - gdouble green; - gdouble blue; - - red = (gdouble) a->red / 65535.0; - green = (gdouble) a->green / 65535.0; - blue = (gdouble) a->blue / 65535.0; - - rgb_to_hls (&red, &green, &blue); - - green *= k; - if (green > 1.0) - green = 1.0; - else if (green < 0.0) - green = 0.0; - - blue *= k; - if (blue > 1.0) - blue = 1.0; - else if (blue < 0.0) - blue = 0.0; - - hls_to_rgb (&red, &green, &blue); - - b->red = red * 65535.0; - b->green = green * 65535.0; - b->blue = blue * 65535.0; -} - -static void -rgb_to_hls (gdouble *r, - gdouble *g, - gdouble *b) -{ - gdouble min; - gdouble max; - gdouble red; - gdouble green; - gdouble blue; - gdouble h, l, s; - gdouble delta; - - red = *r; - green = *g; - blue = *b; - - if (red > green) - { - if (red > blue) - max = red; - else - max = blue; - - if (green < blue) - min = green; - else - min = blue; - } - else - { - if (green > blue) - max = green; - else - max = blue; - - if (red < blue) - min = red; - else - min = blue; - } - - l = (max + min) / 2; - s = 0; - h = 0; - - if (max != min) - { - if (l <= 0.5) - s = (max - min) / (max + min); - else - s = (max - min) / (2 - max - min); - - delta = max -min; - if (red == max) - h = (green - blue) / delta; - else if (green == max) - h = 2 + (blue - red) / delta; - else if (blue == max) - h = 4 + (red - green) / delta; - - h *= 60; - if (h < 0.0) - h += 360; - } - - *r = h; - *g = l; - *b = s; -} - -static void -hls_to_rgb (gdouble *h, - gdouble *l, - gdouble *s) -{ - gdouble hue; - gdouble lightness; - gdouble saturation; - gdouble m1, m2; - gdouble r, g, b; - - lightness = *l; - saturation = *s; - - if (lightness <= 0.5) - m2 = lightness * (1 + saturation); - else - m2 = lightness + saturation - lightness * saturation; - m1 = 2 * lightness - m2; - - if (saturation == 0) - { - *h = lightness; - *l = lightness; - *s = lightness; - } - else - { - hue = *h + 120; - while (hue > 360) - hue -= 360; - while (hue < 0) - hue += 360; - - if (hue < 60) - r = m1 + (m2 - m1) * hue / 60; - else if (hue < 180) - r = m2; - else if (hue < 240) - r = m1 + (m2 - m1) * (240 - hue) / 60; - else - r = m1; - - hue = *h; - while (hue > 360) - hue -= 360; - while (hue < 0) - hue += 360; - - if (hue < 60) - g = m1 + (m2 - m1) * hue / 60; - else if (hue < 180) - g = m2; - else if (hue < 240) - g = m1 + (m2 - m1) * (240 - hue) / 60; - else - g = m1; - - hue = *h - 120; - while (hue > 360) - hue -= 360; - while (hue < 0) - hue += 360; - - if (hue < 60) - b = m1 + (m2 - m1) * hue / 60; - else if (hue < 180) - b = m2; - else if (hue < 240) - b = m1 + (m2 - m1) * (240 - hue) / 60; - else - b = m1; - - *h = r; - *l = g; - *s = b; - } -} |