Merge pull request #33924 from volzhs/preview-dynamicfont

Show thumbnail for DynamicFont resource
This commit is contained in:
Rémi Verschelde 2019-11-27 09:44:08 +01:00 committed by GitHub
commit a994d58fd2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -827,19 +827,23 @@ void EditorFontPreviewPlugin::_bind_methods() {
bool EditorFontPreviewPlugin::handles(const String &p_type) const {
return ClassDB::is_parent_class(p_type, "DynamicFontData");
return ClassDB::is_parent_class(p_type, "DynamicFontData") || ClassDB::is_parent_class(p_type, "DynamicFont");
}
Ref<Texture> EditorFontPreviewPlugin::generate_from_path(const String &p_path, const Size2 &p_size) const {
Ref<DynamicFontData> SampledFont;
SampledFont.instance();
SampledFont->set_font_path(p_path);
RES res = ResourceLoader::load(p_path);
Ref<DynamicFont> sampled_font;
sampled_font.instance();
if (res->is_class("DynamicFont")) {
sampled_font = res->duplicate();
if (sampled_font->get_outline_color() == Color(1, 1, 1, 1)) {
sampled_font->set_outline_color(Color(0, 0, 0, 1));
}
} else if (res->is_class("DynamicFontData")) {
sampled_font.instance();
sampled_font->set_font_data(res);
}
sampled_font->set_size(50);
sampled_font->set_font_data(SampledFont);
String sampled_text = "Abg";
Vector2 size = sampled_font->get_string_size(sampled_text);