From 816b3fa94de91fb671b58d7cda57f10104a682da Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Thu, 16 Jun 2016 20:04:33 -0300 Subject: 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 --- scene/register_scene_types.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'scene/register_scene_types.cpp') 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 = ResourceLoader::load(theme_path); + if (theme.is_valid()) { + Theme::set_default(theme); + } + } else { + + Ref 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 -- cgit v1.2.3-70-g09d2