X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fcolor.h;h=cffb7cf613f7e787d84fc6d76f58cb3447a27935;hb=71ee35bf61a606845a77e55d1202d410e897564b;hp=b740e652bc3211b4fa2c343101c60feab290d10f;hpb=a9a1c401c29f52bb299e5882b5ad0969acb42017;p=nothing.git diff --git a/src/color.h b/src/color.h index b740e652..cffb7cf6 100644 --- a/src/color.h +++ b/src/color.h @@ -3,16 +3,25 @@ #include #include +#include "./system/s.h" + +#define COLOR_BLACK rgba(0.0f, 0.0f, 0.0f, 1.0f) +#define COLOR_WHITE rgba(1.0f, 1.0f, 1.0f, 1.0f) +#define COLOR_RED rgba(1.0f, 0.0f, 0.0f, 1.0f) typedef struct Color { float r, g, b, a; } Color; Color rgba(float r, float g, float b, float a); +Color hsla(float h, float s, float l, float a); +Color rgba_to_hsla(Color color); Color hexstr(const char *hexstr); +Color hexs(String input); SDL_Color color_for_sdl(Color color); int color_hex_to_stream(Color color, FILE *stream); +int color_hex_to_string(Color color, char *buffer, size_t buffer_size); Color color_darker(Color color, float d); @@ -22,4 +31,11 @@ Color color_invert(Color c); Color color_scale(Color c, Color fc); +static inline +Color color_set_alpha(Color c, float a) +{ + c.a = a; + return c; +} + #endif // COLOR_H_