Clamp the editor theme's base colors to avoid various issues

This fixes the profiler backgrounds being black when using the
light editor theme (which is a regression from using a negative
contrast setting by default for the Light preset).
This commit is contained in:
Hugo Locurcio 2022-03-04 08:28:14 +01:00
parent d0c3094da8
commit 6b003384d7
No known key found for this signature in database
GPG key ID: 39E8F8BE30B0A49C

View file

@ -411,9 +411,11 @@ Ref<Theme> create_editor_theme(const Ref<Theme> p_theme) {
// Colors
bool dark_theme = EditorSettings::get_singleton()->is_dark_theme();
const Color dark_color_1 = base_color.lerp(Color(0, 0, 0, 1), contrast);
const Color dark_color_2 = base_color.lerp(Color(0, 0, 0, 1), contrast * 1.5);
const Color dark_color_3 = base_color.lerp(Color(0, 0, 0, 1), contrast * 2);
// Ensure base colors are in the 0..1 luminance range to avoid 8-bit integer overflow or text rendering issues.
// Some places in the editor use 8-bit integer colors.
const Color dark_color_1 = base_color.lerp(Color(0, 0, 0, 1), contrast).clamp();
const Color dark_color_2 = base_color.lerp(Color(0, 0, 0, 1), contrast * 1.5).clamp();
const Color dark_color_3 = base_color.lerp(Color(0, 0, 0, 1), contrast * 2).clamp();
const Color background_color = dark_color_2;