Browse Source

Merge pull request #91236 from ckaiser/audio_bus_contrast

Improve Audio Bus button pressed state visibility
Rémi Verschelde 1 year ago
parent
commit
0af75593dd
1 changed files with 15 additions and 4 deletions
  1. 15 4
      editor/editor_audio_buses.cpp

+ 15 - 4
editor/editor_audio_buses.cpp

@@ -87,9 +87,14 @@ void EditorAudioBus::_notification(int p_what) {
 
 
 			disabled_vu = get_editor_theme_icon(SNAME("BusVuFrozen"));
 			disabled_vu = get_editor_theme_icon(SNAME("BusVuFrozen"));
 
 
-			Color solo_color = EditorThemeManager::is_dark_theme() ? Color(1.0, 0.89, 0.22) : Color(1.0, 0.92, 0.44);
-			Color mute_color = EditorThemeManager::is_dark_theme() ? Color(1.0, 0.16, 0.16) : Color(1.0, 0.44, 0.44);
-			Color bypass_color = EditorThemeManager::is_dark_theme() ? Color(0.13, 0.8, 1.0) : Color(0.44, 0.87, 1.0);
+			Color solo_color = EditorThemeManager::is_dark_theme() ? Color(1.0, 0.89, 0.22) : Color(1.9, 1.74, 0.83);
+			Color mute_color = EditorThemeManager::is_dark_theme() ? Color(1.0, 0.16, 0.16) : Color(2.35, 1.03, 1.03);
+			Color bypass_color = EditorThemeManager::is_dark_theme() ? Color(0.13, 0.8, 1.0) : Color(1.03, 2.04, 2.35);
+			float darkening_factor = EditorThemeManager::is_dark_theme() ? 0.15 : 0.65;
+
+			Ref<StyleBoxFlat>(solo->get_theme_stylebox("pressed"))->set_border_color(solo_color.darkened(darkening_factor));
+			Ref<StyleBoxFlat>(mute->get_theme_stylebox("pressed"))->set_border_color(mute_color.darkened(darkening_factor));
+			Ref<StyleBoxFlat>(bypass->get_theme_stylebox("pressed"))->set_border_color(bypass_color.darkened(darkening_factor));
 
 
 			solo->set_icon(get_editor_theme_icon(SNAME("AudioBusSolo")));
 			solo->set_icon(get_editor_theme_icon(SNAME("AudioBusSolo")));
 			solo->add_theme_color_override("icon_pressed_color", solo_color);
 			solo->add_theme_color_override("icon_pressed_color", solo_color);
@@ -835,7 +840,13 @@ EditorAudioBus::EditorAudioBus(EditorAudioBuses *p_buses, bool p_is_master) {
 		child->add_theme_style_override("normal", sbempty);
 		child->add_theme_style_override("normal", sbempty);
 		child->add_theme_style_override("hover", sbempty);
 		child->add_theme_style_override("hover", sbempty);
 		child->add_theme_style_override("focus", sbempty);
 		child->add_theme_style_override("focus", sbempty);
-		child->add_theme_style_override("pressed", sbempty);
+
+		Ref<StyleBoxFlat> sbflat = memnew(StyleBoxFlat);
+		sbflat->set_content_margin_all(0);
+		sbflat->set_bg_color(Color(1, 1, 1, 0));
+		sbflat->set_border_width(Side::SIDE_BOTTOM, Math::round(3 * EDSCALE));
+		child->add_theme_style_override("pressed", sbflat);
+
 		child->end_bulk_theme_override();
 		child->end_bulk_theme_override();
 	}
 	}