From 5022103ee76e23eccaeb2ad96146b13c57ee0f9c Mon Sep 17 00:00:00 2001 From: kleonc <9283098+kleonc@users.noreply.github.com> Date: Thu, 25 Feb 2021 19:50:43 +0100 Subject: [PATCH] Make Color::from_hsv use Color::set_hsv (cherry picked from commit b59a06da25dcd10e40e368a850cd6370796a0336) --- core/color.cpp | 53 +++----------------------------------------------- 1 file changed, 3 insertions(+), 50 deletions(-) diff --git a/core/color.cpp b/core/color.cpp index 9f740bed1c3..4b62c93668d 100644 --- a/core/color.cpp +++ b/core/color.cpp @@ -456,56 +456,9 @@ String Color::to_html(bool p_alpha) const { } Color Color::from_hsv(float p_h, float p_s, float p_v, float p_a) const { - - p_h = Math::fmod(p_h * 360.0f, 360.0f); - if (p_h < 0.0) - p_h += 360.0f; - - const float h_ = p_h / 60.0f; - const float c = p_v * p_s; - const float x = c * (1.0f - Math::abs(Math::fmod(h_, 2.0f) - 1.0f)); - float r, g, b; - - switch ((int)h_) { - case 0: { - r = c; - g = x; - b = 0; - } break; - case 1: { - r = x; - g = c; - b = 0; - } break; - case 2: { - r = 0; - g = c; - b = x; - } break; - case 3: { - r = 0; - g = x; - b = c; - } break; - case 4: { - r = x; - g = 0; - b = c; - } break; - case 5: { - r = c; - g = 0; - b = x; - } break; - default: { - r = 0; - g = 0; - b = 0; - } break; - } - - const float m = p_v - c; - return Color(m + r, m + g, m + b, p_a); + Color c; + c.set_hsv(p_h, p_s, p_v, p_a); + return c; } // FIXME: Remove once Godot 3.1 has been released