#include #include #include "Math.hpp" #include "values/mrand.hpp" #include Color ColorLerp(Color c1, Color c2, float amount) { Color ret{0}; ret.r = Clamp(Lerp(c1.r, c2.r, amount), 0, 255); ret.g = Clamp(Lerp(c1.g, c2.g, amount), 0, 255); ret.b = Clamp(Lerp(c1.b, c2.b, amount), 0, 255); ret.a = Clamp(Lerp(c1.a, c2.a, amount), 0, 255); return ret; } Color ColorAddValue(Color c, int add) { int r = std::clamp(c.r + add, 0, 255); int g = std::clamp(c.g + add, 0, 255); int b = std::clamp(c.b + add, 0, 255); return {(unsigned char)r, (unsigned char)g, (unsigned char)b, c.a}; } Color ColorAdd(Color c1, Color c2) { int r = std::clamp(c1.r + c2.r, 0, 255); int g = std::clamp(c1.g + c2.g, 0, 255); int b = std::clamp(c1.b + c2.b, 0, 255); int a = std::clamp(c1.a + c2.a, 0, 255); return {(unsigned char)r, (unsigned char)g, (unsigned char)b, (unsigned char)a}; }