Files
omath/include/uml/color.h
2024-05-18 13:40:29 +03:00

29 lines
777 B
C++

//
// Created by vlad on 2/4/24.
//
#pragma once
#include "uml/Vector3.h"
#include <cstdint>
#include "uml/Vector4.h"
namespace uml::color
{
[[nodiscard]]
Vector3 Blend(const Vector3& first, const Vector3& second, float ratio);
class Color : public Vector4
{
public:
Color(float r, float g, float b, float a);
static Color FromRGBA(uint8_t r, uint8_t g, uint8_t b, uint8_t a);
explicit Color(Vector4 vec);
[[nodiscard]] Color Blend(const Color& other, float ratio) const;
[[nodiscard]] static Color Red() {return {1.f, 0.f, 0.f, 1.f};}
[[nodiscard]] static Color Green() {return {0.f, 1.f, 0.f, 1.f};}
[[nodiscard]] static Color Blue() {return {0.f, 0.f, 1.f, 1.f};}
};
}