#pragma once #include namespace PortabilityLayer { struct RGBAColor { uint8_t r, g, b, a; bool operator==(const RGBAColor &other) const; bool operator!=(const RGBAColor &other) const; static RGBAColor Create(uint8_t r, uint8_t g, uint8_t b, uint8_t a); }; inline RGBAColor RGBAColor::Create(uint8_t r, uint8_t g, uint8_t b, uint8_t a) { RGBAColor color; color.r = r; color.g = g; color.b = b; color.a = a; return color; } inline bool RGBAColor::operator==(const RGBAColor &other) const { return this->r == other.r && this->g == other.g && this->b == other.b && this->a == other.a; } inline bool RGBAColor::operator!=(const RGBAColor &other) const { return !((*this) == other); } }