From b5e3328f64c1f47c9df03ec8eb7c1098c5f7df83 Mon Sep 17 00:00:00 2001 From: david Date: Mon, 26 Oct 2026 18:27:07 -0300 Subject: finally finished this. it should be 1:1 with the original rust version... --- defs/all.h | 1 + defs/colors.h | 24 ++++-------------------- 2 files changed, 5 insertions(+), 20 deletions(-) (limited to 'defs') diff --git a/defs/all.h b/defs/all.h index 681b34d..61bdf6e 100644 --- a/defs/all.h +++ b/defs/all.h @@ -8,6 +8,7 @@ #include #include #include +#include #include "helper.h" diff --git a/defs/colors.h b/defs/colors.h index a3179f8..1bb7408 100644 --- a/defs/colors.h +++ b/defs/colors.h @@ -11,24 +11,6 @@ typedef enum color_mode { MODE_TRUECOLOR }color_mode; -typedef enum NamedColor { - Black, - Red, - Green, - Yellow, - Blue, - Magenta, - Cyan, - White, - BrightBlack, - BrightRed, - BrightGreen, - BrightYellow, - BrightBlue, - BrightMagenta, - BrightCyan, - BrightWhite, -}NamedColor; typedef struct{ unsigned char red; @@ -45,6 +27,9 @@ typedef struct colorconfig { int brightness; //default 50 rgbcolor *rainbow_cache; //array of rgbcolor malloced size_t rainbow_count; + bool has_gradient; + rgbcolor gradient_start; + rgbcolor gradient_end; }colorconfig; typedef enum ColorParseError { @@ -53,13 +38,11 @@ typedef enum ColorParseError { COLOR_ERR_HEX, COLOR_ERR_RGB, COLOR_ERR_HSL, - COLOR_ERR_UNKNOWN_NAME }ColorParseError; void colorconfig_init(colorconfig *config); enum color_mode detect_color_mode(void); bool enable_windows_ansi(void); -int parse_namedcolors(const char *name, rgbcolor *out_rgb); ColorParseError parse_color(const char *s, rgbcolor *out); const char *color_parse_error_message(ColorParseError error); unsigned char rgb_to_ansi16(rgbcolor rgb); @@ -67,5 +50,6 @@ unsigned char rgb_to_ansi256(rgbcolor rgb); rgbcolor hsl_to_rgb(unsigned short h, unsigned char s, unsigned char l); rgbcolor lerp_color_hsv(rgbcolor start, rgbcolor end, float t); void rgb_to_fg_escape(rgbcolor rgb, color_mode mode, char *out, size_t size); +void print_color_debug(const colorconfig *config, bool ansi_enabled); #endif -- cgit v1.3-2-g0d8e