diff options
| author | Juan Linietsky | 2016-06-16 20:04:33 -0300 |
|---|---|---|
| committer | Juan Linietsky | 2016-06-16 20:05:22 -0300 |
| commit | 816b3fa94de91fb671b58d7cda57f10104a682da (patch) | |
| tree | 49482dc65c688694dc05410aa104960e9d875f76 /scene/register_scene_types.cpp | |
| parent | c4c6797fc1d700f59ea8d4927d42c1838bcfb3b9 (diff) | |
| download | godot-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.cpp | 23 |
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 |
