1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-11 13:10:58 +00:00

Merge pull request #93968 from bruvzg/font_prev_update

[Editor] Update font preview directly instead of invalidating property list.
This commit is contained in:
Rémi Verschelde
2024-07-05 15:07:50 +02:00
3 changed files with 18 additions and 1 deletions

View File

@@ -950,6 +950,12 @@ void FontPreview::_notification(int p_what) {
font->draw_string(get_canvas_item(), Point2(0, font->get_height(font_size) + 2 * EDSCALE), TTR("Unable to preview font"), HORIZONTAL_ALIGNMENT_CENTER, get_size().x, font_size, text_color); font->draw_string(get_canvas_item(), Point2(0, font->get_height(font_size) + 2 * EDSCALE), TTR("Unable to preview font"), HORIZONTAL_ALIGNMENT_CENTER, get_size().x, font_size, text_color);
} }
} break; } break;
case NOTIFICATION_EXIT_TREE: {
if (prev_font.is_valid()) {
prev_font->disconnect_changed(callable_mp(this, &FontPreview::_preview_changed));
}
} break;
} }
} }
@@ -960,7 +966,17 @@ Size2 FontPreview::get_minimum_size() const {
} }
void FontPreview::set_data(const Ref<Font> &p_f) { void FontPreview::set_data(const Ref<Font> &p_f) {
if (prev_font.is_valid()) {
prev_font->disconnect_changed(callable_mp(this, &FontPreview::_preview_changed));
}
prev_font = p_f; prev_font = p_f;
if (prev_font.is_valid()) {
prev_font->connect_changed(callable_mp(this, &FontPreview::_preview_changed));
}
queue_redraw();
}
void FontPreview::_preview_changed() {
queue_redraw(); queue_redraw();
} }

View File

@@ -225,6 +225,8 @@ protected:
Ref<Font> prev_font; Ref<Font> prev_font;
void _preview_changed();
public: public:
virtual Size2 get_minimum_size() const override; virtual Size2 get_minimum_size() const override;

View File

@@ -3213,7 +3213,6 @@ void SystemFont::_update_base_font() {
} }
_invalidate_rids(); _invalidate_rids();
notify_property_list_changed();
} }
void SystemFont::reset_state() { void SystemFont::reset_state() {