X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fcommon.c;h=0df85ebbfd4adf5803ca5740a82efd215c16509d;hb=b8b8d15d228be65ae62db08e4163d34e958e7766;hp=d6047c43ca75f64578c9fc60c4c3c06654be3af1;hpb=425fad0d0ed5df28fa6876086cab68eb6b4036ff;p=collection4.git diff --git a/src/common.c b/src/common.c index d6047c4..0df85eb 100644 --- a/src/common.c +++ b/src/common.c @@ -159,6 +159,23 @@ static uint32_t rgb_to_uint32 (double *rgb) /* {{{ */ | ((uint32_t) b)); } /* }}} uint32_t rgb_to_uint32 */ +static int uint32_to_rgb (uint32_t color, double *rgb) +{ + uint8_t r; + uint8_t g; + uint8_t b; + + r = (uint8_t) ((color >> 16) & 0x00ff); + g = (uint8_t) ((color >> 8) & 0x00ff); + b = (uint8_t) ((color >> 0) & 0x00ff); + + rgb[0] = ((double) r) / 255.0; + rgb[1] = ((double) g) / 255.0; + rgb[2] = ((double) b) / 255.0; + + return (0); +} /* }}} int uint32_to_rgb */ + uint32_t get_random_color (void) /* {{{ */ { double hsv[3] = { 0.0, 1.0, 1.0 }; @@ -171,6 +188,18 @@ uint32_t get_random_color (void) /* {{{ */ return (rgb_to_uint32 (rgb)); } /* }}} uint32_t get_random_color */ +uint32_t fade_color (uint32_t color) /* {{{ */ +{ + double rgb[3]; + + uint32_to_rgb (color, rgb); + rgb[0] = 1.0 - ((1.0 - rgb[0]) * 0.1); + rgb[1] = 1.0 - ((1.0 - rgb[1]) * 0.1); + rgb[2] = 1.0 - ((1.0 - rgb[2]) * 0.1); + + return (rgb_to_uint32 (rgb)); +} /* }}} uint32_t fade_color */ + int print_debug (const char *format, ...) /* {{{ */ { static _Bool have_header = 0;