From d6088ed79ca60822cba084a8cf4f6115931f8d30 Mon Sep 17 00:00:00 2001 From: "liuhaibo.2020" Date: Thu, 30 Apr 2020 14:48:01 +0800 Subject: [PATCH] Add Color::RGB() & Color::RGBA() functions --- src/kiwano/render/Color.cpp | 21 +++++++++++++++++++++ src/kiwano/render/Color.h | 30 ++++++++++++++++++++++++++++-- 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/src/kiwano/render/Color.cpp b/src/kiwano/render/Color.cpp index 023e4d3a..98173ce4 100644 --- a/src/kiwano/render/Color.cpp +++ b/src/kiwano/render/Color.cpp @@ -74,4 +74,25 @@ Color::Color(uint32_t rgb, float alpha) , a(alpha) { } + +Color Color::RGB(float r, float g, float b) +{ + return Color::RGBA(r, g, b, 1.0f); +} + +Color Color::RGB(uint32_t rgb) +{ + return Color::RGBA(rgb, 1.0f); +} + +Color Color::RGBA(float r, float g, float b, float alpha) +{ + return Color(r, g, b, alpha); +} + +Color Color::RGBA(uint32_t rgb, float alpha) +{ + return Color(rgb, alpha); +} + } // namespace kiwano diff --git a/src/kiwano/render/Color.h b/src/kiwano/render/Color.h index dec63edf..d896cd4b 100644 --- a/src/kiwano/render/Color.h +++ b/src/kiwano/render/Color.h @@ -59,7 +59,7 @@ public: /// @param r 红色值,范围 0.0 - 1.0 /// @param g 绿色值,范围 0.0 - 1.0 /// @param b 蓝色值,范围 0.0 - 1.0 - /// @param a Alpha值,范围 0.0 - 1.0 + /// @param alpha Alpha值,范围 0.0 - 1.0 Color(float r, float g, float b, float alpha); /// \~chinese @@ -70,9 +70,35 @@ public: /// \~chinese /// @brief 构造 RGBA 颜色 /// @param rgb 使用16进制整形值表示 RGB 颜色 - /// @param a Alpha值,范围 0.0 - 1.0 + /// @param alpha Alpha值,范围 0.0 - 1.0 Color(uint32_t rgb, float alpha); + /// \~chinese + /// @brief 构造 RGB 颜色 + /// @param r 红色值,范围 0.0 - 1.0 + /// @param g 绿色值,范围 0.0 - 1.0 + /// @param b 蓝色值,范围 0.0 - 1.0 + static Color RGB(float r, float g, float b); + + /// \~chinese + /// @brief 构造 RGB 颜色 + /// @param rgb 使用16进制整形值表示 RGB颜色 + static Color RGB(uint32_t rgb); + + /// \~chinese + /// @brief 构造 RGBA 颜色 + /// @param r 红色值,范围 0.0 - 1.0 + /// @param g 绿色值,范围 0.0 - 1.0 + /// @param b 蓝色值,范围 0.0 - 1.0 + /// @param alpha Alpha值,范围 0.0 - 1.0 + static Color RGBA(float r, float g, float b, float alpha); + + /// \~chinese + /// @brief 构造 RGBA 颜色 + /// @param rgb 使用16进制整形值表示 RGB颜色 + /// @param alpha Alpha值,范围 0.0 - 1.0 + static Color RGBA(uint32_t rgb, float alpha); + bool operator==(const Color& rhs) const; bool operator!=(const Color& rhs) const;