aboutsummaryrefslogtreecommitdiff
path: root/scene/register_scene_types.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2016-06-16 20:04:33 -0300
committerJuan Linietsky2016-06-16 20:05:22 -0300
commit816b3fa94de91fb671b58d7cda57f10104a682da (patch)
tree49482dc65c688694dc05410aa104960e9d875f76 /scene/register_scene_types.cpp
parentc4c6797fc1d700f59ea8d4927d42c1838bcfb3b9 (diff)
downloadgodot-816b3fa94de91fb671b58d7cda57f10104a682da.tar.gz
godot-816b3fa94de91fb671b58d7cda57f10104a682da.tar.zst
godot-816b3fa94de91fb671b58d7cda57f10104a682da.zip
It is now possible to set a default custom theme, whether you want a hidpi default theme, or just use a custom font for the default theme
Diffstat (limited to 'scene/register_scene_types.cpp')
-rw-r--r--scene/register_scene_types.cpp23
1 files changed, 22 insertions, 1 deletions
diff --git a/scene/register_scene_types.cpp b/scene/register_scene_types.cpp
index 54b4ddca9..b16b4aa56 100644
--- a/scene/register_scene_types.cpp
+++ b/scene/register_scene_types.cpp
@@ -271,7 +271,28 @@ void register_scene_types() {
resource_loader_shader = memnew( ResourceFormatLoaderShader );
ResourceLoader::add_resource_format_loader( resource_loader_shader );
- make_default_theme();
+ bool default_theme_hidpi=GLOBAL_DEF("display/use_hidpi_theme",false);
+ Globals::get_singleton()->set_custom_property_info("display/use_hidpi_theme",PropertyInfo(Variant::BOOL,"display/use_hidpi_theme",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+ String theme_path = GLOBAL_DEF("display/custom_theme","");
+ Globals::get_singleton()->set_custom_property_info("display/custom_theme",PropertyInfo(Variant::STRING,"display/custom_theme",PROPERTY_HINT_FILE,"*.tres,*.res",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+ String font_path = GLOBAL_DEF("display/custom_theme_font","");
+ Globals::get_singleton()->set_custom_property_info("display/custom_theme_font",PropertyInfo(Variant::STRING,"display/custom_theme_font",PROPERTY_HINT_FILE,"*.tres,*.res,*.fnt",PROPERTY_USAGE_DEFAULT|PROPERTY_USAGE_RESTART_IF_CHANGED));
+
+
+ if (theme_path!=String()) {
+ Ref<Theme> theme = ResourceLoader::load(theme_path);
+ if (theme.is_valid()) {
+ Theme::set_default(theme);
+ }
+ } else {
+
+ Ref<Font> font;
+ if (font_path!=String()) {
+ font=ResourceLoader::load(font_path);
+ }
+ make_default_theme(default_theme_hidpi,font);
+ }
+
OS::get_singleton()->yield(); //may take time to init