diff options
Diffstat (limited to 'src/character.c')
-rw-r--r-- | src/character.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/character.c b/src/character.c index 8a42370..5aa2e92 100644 --- a/src/character.c +++ b/src/character.c @@ -10,3 +10,14 @@ char calc_char(uint8_t _c , uint8_t _min, uint8_t _max, char *_custom_map) float c = (float)(_c) / (_max - _min); return map [(int)( strlen( map ) * (c))]; } + +char* calc_col_ansi(uint8_t R, uint8_t G, uint8_t B, uint8_t _mode) +{ + int mode = _mode == COLOR_BG ? 4 : 3; + int num = 36 * (R/51) + 6 * (G/51) + (B/51); + char *c = malloc(12); + snprintf( c, 8, "\e[%i8;5;", mode ); + snprintf( c + 7, 5, "%im", num + 16 ); + + return c; +} |