summaryrefslogtreecommitdiffstats
path: root/scene/resources/theme.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/resources/theme.cpp')
-rw-r--r--scene/resources/theme.cpp25
1 files changed, 18 insertions, 7 deletions
diff --git a/scene/resources/theme.cpp b/scene/resources/theme.cpp
index d57a0f6b38..b6cd6f6dfe 100644
--- a/scene/resources/theme.cpp
+++ b/scene/resources/theme.cpp
@@ -322,7 +322,7 @@ void Theme::clear_icon(const StringName &p_name, const StringName &p_theme_type)
_emit_theme_changed(true);
}
-void Theme::get_icon_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_icon_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!icon_map.has(p_theme_type)) {
@@ -432,7 +432,7 @@ void Theme::clear_stylebox(const StringName &p_name, const StringName &p_theme_t
_emit_theme_changed(true);
}
-void Theme::get_stylebox_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_stylebox_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!style_map.has(p_theme_type)) {
@@ -544,7 +544,7 @@ void Theme::clear_font(const StringName &p_name, const StringName &p_theme_type)
_emit_theme_changed(true);
}
-void Theme::get_font_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_font_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!font_map.has(p_theme_type)) {
@@ -643,7 +643,7 @@ void Theme::clear_font_size(const StringName &p_name, const StringName &p_theme_
_emit_theme_changed(true);
}
-void Theme::get_font_size_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_font_size_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!font_size_map.has(p_theme_type)) {
@@ -729,7 +729,7 @@ void Theme::clear_color(const StringName &p_name, const StringName &p_theme_type
_emit_theme_changed(true);
}
-void Theme::get_color_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_color_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!color_map.has(p_theme_type)) {
@@ -815,7 +815,7 @@ void Theme::clear_constant(const StringName &p_name, const StringName &p_theme_t
_emit_theme_changed(true);
}
-void Theme::get_constant_list(StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_constant_list(const StringName &p_theme_type, List<StringName> *p_list) const {
ERR_FAIL_NULL(p_list);
if (!constant_map.has(p_theme_type)) {
@@ -1009,7 +1009,7 @@ void Theme::clear_theme_item(DataType p_data_type, const StringName &p_name, con
}
}
-void Theme::get_theme_item_list(DataType p_data_type, StringName p_theme_type, List<StringName> *p_list) const {
+void Theme::get_theme_item_list(DataType p_data_type, const StringName &p_theme_type, List<StringName> *p_list) const {
switch (p_data_type) {
case DATA_TYPE_COLOR:
get_color_list(p_theme_type, p_list);
@@ -1613,6 +1613,17 @@ void Theme::merge_with(const Ref<Theme> &p_other) {
}
}
+ // Defaults.
+ if (p_other->has_default_font()) {
+ set_default_font(p_other->default_font);
+ }
+ if (p_other->has_default_font_size()) {
+ set_default_font_size(p_other->default_font_size);
+ }
+ if (p_other->has_default_base_scale()) {
+ set_default_base_scale(p_other->default_base_scale);
+ }
+
_unfreeze_and_propagate_changes();
}