浏览代码

Merge pull request #70404 from YuriSizov/theme-!important

Add fallback values for font and scale to the default theme
Rémi Verschelde 2 年之前
父节点
当前提交
fecdeb78ad
共有 2 个文件被更改,包括 8 次插入4 次删除
  1. 5 0
      scene/resources/default_theme/default_theme.cpp
  2. 3 4
      scene/theme/theme_db.cpp

+ 5 - 0
scene/resources/default_theme/default_theme.cpp

@@ -100,6 +100,11 @@ static Ref<StyleBox> make_empty_stylebox(float p_margin_left = -1, float p_margi
 void fill_default_theme(Ref<Theme> &theme, const Ref<Font> &default_font, const Ref<Font> &bold_font, const Ref<Font> &bold_italics_font, const Ref<Font> &italics_font, Ref<Texture2D> &default_icon, Ref<StyleBox> &default_style, float p_scale) {
 	scale = p_scale;
 
+	// Default theme properties.
+	theme->set_default_font(default_font);
+	theme->set_default_font_size(default_font_size * scale);
+	theme->set_default_base_scale(scale);
+
 	// Font colors
 	const Color control_font_color = Color(0.875, 0.875, 0.875);
 	const Color control_font_low_color = Color(0.7, 0.7, 0.7);

+ 3 - 4
scene/theme/theme_db.cpp

@@ -70,7 +70,9 @@ void ThemeDB::initialize_theme() {
 	Ref<Font> font;
 	if (!font_path.is_empty()) {
 		font = ResourceLoader::load(font_path);
-		if (!font.is_valid()) {
+		if (font.is_valid()) {
+			set_fallback_font(font);
+		} else {
 			ERR_PRINT("Error loading custom font '" + font_path + "'");
 		}
 	}
@@ -84,9 +86,6 @@ void ThemeDB::initialize_theme() {
 		Ref<Theme> theme = ResourceLoader::load(theme_path);
 		if (theme.is_valid()) {
 			set_project_theme(theme);
-			if (font.is_valid()) {
-				set_fallback_font(font);
-			}
 		} else {
 			ERR_PRINT("Error loading custom theme '" + theme_path + "'");
 		}