From 92a7d05bdd3b82f6e6d20942699cabe18dde828e Mon Sep 17 00:00:00 2001 From: Quentin Bazin Date: Mon, 18 Feb 2019 15:20:49 +0100 Subject: [PATCH] [Color] Small update for Asylia. --- include/gk/graphics/Color.hpp | 12 +++++++++++- source/graphics/Color.cpp | 4 ---- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/include/gk/graphics/Color.hpp b/include/gk/graphics/Color.hpp index 2ea0073..96054b7 100644 --- a/include/gk/graphics/Color.hpp +++ b/include/gk/graphics/Color.hpp @@ -23,7 +23,11 @@ class Color { Color() = default; Color(u8 _r, u8 _g, u8 _b, u8 _a = 255); - Color operator-(const Color &color); + // Only used in Asylia + void invert() { r = 1 - r; g = 1 - g; b = 1 - b; } + + Color operator-(const Color &c) { return Color(r - c.r, g - c.g, b - c.b, a - c.a); } + Color operator+(const Color &c) { return Color(r + c.r, g + c.g, b + c.b, a + c.a); } bool operator==(const Color &color) const { return r == color.r && g == color.g && b == color.b && a == color.a; @@ -33,6 +37,12 @@ class Color { return !(*this == color); } + // Only used in Asylia + u8 r255() const { return r * 255; } + u8 g255() const { return g * 255; } + u8 b255() const { return b * 255; } + u8 a255() const { return a * 255; } + float r = 1.0f; float g = 1.0f; float b = 1.0f; diff --git a/source/graphics/Color.cpp b/source/graphics/Color.cpp index 8b66a5b..77ed107 100644 --- a/source/graphics/Color.cpp +++ b/source/graphics/Color.cpp @@ -32,9 +32,5 @@ Color::Color(u8 _r, u8 _g, u8 _b, u8 _a) { a = _a / 255.0f; } -Color Color::operator-(const Color &color) { - return Color(r - color.r, g - color.g, b - color.b, a - color.a); -} - } // namespace gk