From 768c8b133ab24100dad92923a1234ef0fc48eddf Mon Sep 17 00:00:00 2001 From: Orange Date: Tue, 7 May 2024 02:12:16 +0300 Subject: [PATCH] added constructors --- include/uml/color.h | 3 +++ source/color.cpp | 10 ++++++++++ 2 files changed, 13 insertions(+) diff --git a/include/uml/color.h b/include/uml/color.h index c1b8019..aeae8a8 100644 --- a/include/uml/color.h +++ b/include/uml/color.h @@ -17,6 +17,9 @@ namespace uml::color class Color : public Vector4 { public: + Color(float r, float g, float, float b, float a = 1.f); + Color(const Vector4& vec); [[nodiscard]] Color Blend(const Color& other, float ratio) const; + explicit operator Vector4() {return {x,y,z,w};} }; } \ No newline at end of file diff --git a/source/color.cpp b/source/color.cpp index 4b54361..5598a56 100644 --- a/source/color.cpp +++ b/source/color.cpp @@ -13,6 +13,16 @@ namespace uml::color } Color Color::Blend(const Color &other, float ratio) const + { + return *this * (1.f - std::clamp(ratio, 0.f, 1.f)) + other * ratio; + } + + Color::Color(float r, float g, float, float b, float a) : Vector4(r,g,b,a) + { + + } + + Color::Color(const Vector4 &vec) : Vector4(vec.x, vec.y, vec.z, vec.w) { }