Merge pull request #56376 from pycbouh/theme-tombe-les-theme-properties

This commit is contained in:
Rémi Verschelde 2022-01-06 11:33:43 +01:00 committed by GitHub
commit a2a4ec7cb5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 149 additions and 114 deletions

View file

@ -1149,12 +1149,12 @@ float Control::fetch_theme_default_base_scale(Control *p_theme_owner, Window *p_
Window *theme_owner_window = p_theme_owner_window;
while (theme_owner || theme_owner_window) {
if (theme_owner && theme_owner->data.theme->has_default_theme_base_scale()) {
return theme_owner->data.theme->get_default_theme_base_scale();
if (theme_owner && theme_owner->data.theme->has_default_base_scale()) {
return theme_owner->data.theme->get_default_base_scale();
}
if (theme_owner_window && theme_owner_window->theme->has_default_theme_base_scale()) {
return theme_owner_window->theme->get_default_theme_base_scale();
if (theme_owner_window && theme_owner_window->theme->has_default_base_scale()) {
return theme_owner_window->theme->get_default_base_scale();
}
Node *parent = theme_owner ? theme_owner->get_parent() : theme_owner_window->get_parent();
@ -1176,13 +1176,16 @@ float Control::fetch_theme_default_base_scale(Control *p_theme_owner, Window *p_
// Secondly, check the project-defined Theme resource.
if (Theme::get_project_default().is_valid()) {
if (Theme::get_project_default()->has_default_theme_base_scale()) {
return Theme::get_project_default()->get_default_theme_base_scale();
if (Theme::get_project_default()->has_default_base_scale()) {
return Theme::get_project_default()->get_default_base_scale();
}
}
// Lastly, fall back on the default Theme.
return Theme::get_default()->get_default_theme_base_scale();
if (Theme::get_default()->has_default_base_scale()) {
return Theme::get_default()->get_default_base_scale();
}
return Theme::get_fallback_base_scale();
}
float Control::get_theme_default_base_scale() const {
@ -1197,12 +1200,12 @@ Ref<Font> Control::fetch_theme_default_font(Control *p_theme_owner, Window *p_th
Window *theme_owner_window = p_theme_owner_window;
while (theme_owner || theme_owner_window) {
if (theme_owner && theme_owner->data.theme->has_default_theme_font()) {
return theme_owner->data.theme->get_default_theme_font();
if (theme_owner && theme_owner->data.theme->has_default_font()) {
return theme_owner->data.theme->get_default_font();
}
if (theme_owner_window && theme_owner_window->theme->has_default_theme_font()) {
return theme_owner_window->theme->get_default_theme_font();
if (theme_owner_window && theme_owner_window->theme->has_default_font()) {
return theme_owner_window->theme->get_default_font();
}
Node *parent = theme_owner ? theme_owner->get_parent() : theme_owner_window->get_parent();
@ -1224,13 +1227,16 @@ Ref<Font> Control::fetch_theme_default_font(Control *p_theme_owner, Window *p_th
// Secondly, check the project-defined Theme resource.
if (Theme::get_project_default().is_valid()) {
if (Theme::get_project_default()->has_default_theme_font()) {
return Theme::get_project_default()->get_default_theme_font();
if (Theme::get_project_default()->has_default_font()) {
return Theme::get_project_default()->get_default_font();
}
}
// Lastly, fall back on the default Theme.
return Theme::get_default()->get_default_theme_font();
if (Theme::get_default()->has_default_font()) {
return Theme::get_default()->get_default_font();
}
return Theme::get_fallback_font();
}
Ref<Font> Control::get_theme_default_font() const {
@ -1245,12 +1251,12 @@ int Control::fetch_theme_default_font_size(Control *p_theme_owner, Window *p_the
Window *theme_owner_window = p_theme_owner_window;
while (theme_owner || theme_owner_window) {
if (theme_owner && theme_owner->data.theme->has_default_theme_font_size()) {
return theme_owner->data.theme->get_default_theme_font_size();
if (theme_owner && theme_owner->data.theme->has_default_font_size()) {
return theme_owner->data.theme->get_default_font_size();
}
if (theme_owner_window && theme_owner_window->theme->has_default_theme_font_size()) {
return theme_owner_window->theme->get_default_theme_font_size();
if (theme_owner_window && theme_owner_window->theme->has_default_font_size()) {
return theme_owner_window->theme->get_default_font_size();
}
Node *parent = theme_owner ? theme_owner->get_parent() : theme_owner_window->get_parent();
@ -1272,13 +1278,16 @@ int Control::fetch_theme_default_font_size(Control *p_theme_owner, Window *p_the
// Secondly, check the project-defined Theme resource.
if (Theme::get_project_default().is_valid()) {
if (Theme::get_project_default()->has_default_theme_font_size()) {
return Theme::get_project_default()->get_default_theme_font_size();
if (Theme::get_project_default()->has_default_font_size()) {
return Theme::get_project_default()->get_default_font_size();
}
}
// Lastly, fall back on the default Theme.
return Theme::get_default()->get_default_theme_font_size();
if (Theme::get_default()->has_default_font_size()) {
return Theme::get_default()->get_default_font_size();
}
return Theme::get_fallback_font_size();
}
int Control::get_theme_default_font_size() const {