From bb2e22ecf230317a20ce5a782e51fcdb0f6e66fc Mon Sep 17 00:00:00 2001 From: Phantom Date: Sun, 14 Dec 2025 13:14:45 +0100 Subject: [PATCH 1/3] Improved readability of highlighted text in drop-down menus TextColorHighlighted is now automatically lightened if too dark, by calculating brightness and interpolating towards white. This ensures better readability of selected items in drop-down menus. --- Source/Engine/UI/GUI/Common/Dropdown.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Source/Engine/UI/GUI/Common/Dropdown.cs b/Source/Engine/UI/GUI/Common/Dropdown.cs index a227e5acd..a8b5929c3 100644 --- a/Source/Engine/UI/GUI/Common/Dropdown.cs +++ b/Source/Engine/UI/GUI/Common/Dropdown.cs @@ -588,6 +588,7 @@ namespace FlaxEngine.GUI AutoFocus = false, Size = size, }; + float brightness = TextColorHighlighted.R * 0.299f + TextColorHighlighted.G * 0.587f + TextColorHighlighted.B * 0.114f; var label = new DropdownLabel { AutoFocus = true, @@ -595,7 +596,7 @@ namespace FlaxEngine.GUI Size = new Float2(size.X - margin, size.Y), Font = Font, TextColor = TextColor * 0.9f, - TextColorHighlighted = TextColorHighlighted, + TextColorHighlighted = brightness < 0.05f ? Color.Lerp(TextColorHighlighted, Color.White, 0.3f) : TextColorHighlighted, HorizontalAlignment = HorizontalAlignment, VerticalAlignment = VerticalAlignment, Text = _items[i], From 7f2f73afd89353c05de156fccf148cb727e0d521 Mon Sep 17 00:00:00 2001 From: Phantom Date: Mon, 15 Dec 2025 00:48:42 +0100 Subject: [PATCH 2/3] Added Luminance property and updated authors MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit -Added public Luminance property in Color.cs to calculate colour brightness. -Refactored Dropdown.cs to use Luminance instead of manual calculation. -Updated author list in AboutDialog.cs by adding ‘Michael Salvini’. --- Source/Editor/Windows/AboutDialog.cs | 1 + Source/Engine/Core/Math/Color.cs | 5 +++++ Source/Engine/UI/GUI/Common/Dropdown.cs | 3 +-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/Source/Editor/Windows/AboutDialog.cs b/Source/Editor/Windows/AboutDialog.cs index 1d9afbdfe..af0d121c2 100644 --- a/Source/Editor/Windows/AboutDialog.cs +++ b/Source/Editor/Windows/AboutDialog.cs @@ -98,6 +98,7 @@ namespace FlaxEditor.Windows "Chandler Cox", "Ari Vuollet", "Vincent Saarmann", + "Michael Salvini", }); authors.Sort(); var authorsLabel = new Label(4, topParentControl.Bottom + 20, Width - 8, 70) diff --git a/Source/Engine/Core/Math/Color.cs b/Source/Engine/Core/Math/Color.cs index 2d779dcfa..f11ba07ec 100644 --- a/Source/Engine/Core/Math/Color.cs +++ b/Source/Engine/Core/Math/Color.cs @@ -82,6 +82,11 @@ namespace FlaxEngine } } + /// + /// Gets the brightness of the color + /// + public float Luminance => R * 0.299f + G * 0.587f + B * 0.114f; + /// /// Returns the minimum color component value: Min(r,g,b). /// diff --git a/Source/Engine/UI/GUI/Common/Dropdown.cs b/Source/Engine/UI/GUI/Common/Dropdown.cs index a8b5929c3..9efad789e 100644 --- a/Source/Engine/UI/GUI/Common/Dropdown.cs +++ b/Source/Engine/UI/GUI/Common/Dropdown.cs @@ -588,7 +588,6 @@ namespace FlaxEngine.GUI AutoFocus = false, Size = size, }; - float brightness = TextColorHighlighted.R * 0.299f + TextColorHighlighted.G * 0.587f + TextColorHighlighted.B * 0.114f; var label = new DropdownLabel { AutoFocus = true, @@ -596,7 +595,7 @@ namespace FlaxEngine.GUI Size = new Float2(size.X - margin, size.Y), Font = Font, TextColor = TextColor * 0.9f, - TextColorHighlighted = brightness < 0.05f ? Color.Lerp(TextColorHighlighted, Color.White, 0.3f) : TextColorHighlighted, + TextColorHighlighted = TextColorHighlighted.Luminance < 0.05f ? Color.Lerp(TextColorHighlighted, Color.White, 0.3f) : TextColorHighlighted, HorizontalAlignment = HorizontalAlignment, VerticalAlignment = VerticalAlignment, Text = _items[i], From 0094216ff8eaac61fd417424e6ef4c1e65e8ed5f Mon Sep 17 00:00:00 2001 From: Phantom Date: Mon, 15 Dec 2025 14:29:57 +0100 Subject: [PATCH 3/3] Renaming Luminance name to Brightness --- Source/Engine/Core/Math/Color.cs | 2 +- Source/Engine/UI/GUI/Common/Dropdown.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Source/Engine/Core/Math/Color.cs b/Source/Engine/Core/Math/Color.cs index f11ba07ec..711ffb7d9 100644 --- a/Source/Engine/Core/Math/Color.cs +++ b/Source/Engine/Core/Math/Color.cs @@ -85,7 +85,7 @@ namespace FlaxEngine /// /// Gets the brightness of the color /// - public float Luminance => R * 0.299f + G * 0.587f + B * 0.114f; + public float Brightness => R * 0.299f + G * 0.587f + B * 0.114f; /// /// Returns the minimum color component value: Min(r,g,b). diff --git a/Source/Engine/UI/GUI/Common/Dropdown.cs b/Source/Engine/UI/GUI/Common/Dropdown.cs index 9efad789e..6488bb14a 100644 --- a/Source/Engine/UI/GUI/Common/Dropdown.cs +++ b/Source/Engine/UI/GUI/Common/Dropdown.cs @@ -595,7 +595,7 @@ namespace FlaxEngine.GUI Size = new Float2(size.X - margin, size.Y), Font = Font, TextColor = TextColor * 0.9f, - TextColorHighlighted = TextColorHighlighted.Luminance < 0.05f ? Color.Lerp(TextColorHighlighted, Color.White, 0.3f) : TextColorHighlighted, + TextColorHighlighted = TextColorHighlighted.Brightness < 0.05f ? Color.Lerp(TextColorHighlighted, Color.White, 0.3f) : TextColorHighlighted, HorizontalAlignment = HorizontalAlignment, VerticalAlignment = VerticalAlignment, Text = _items[i],