[Editor] Update font preview directly instead of invalidating property list.
This commit is contained in:
parent
20ba2f00bd
commit
847aadee02
|
@ -935,6 +935,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);
|
||||
}
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_EXIT_TREE: {
|
||||
if (prev_font.is_valid()) {
|
||||
prev_font->disconnect_changed(callable_mp(this, &FontPreview::_preview_changed));
|
||||
}
|
||||
} break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -945,7 +951,17 @@ Size2 FontPreview::get_minimum_size() const {
|
|||
}
|
||||
|
||||
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;
|
||||
if (prev_font.is_valid()) {
|
||||
prev_font->connect_changed(callable_mp(this, &FontPreview::_preview_changed));
|
||||
}
|
||||
queue_redraw();
|
||||
}
|
||||
|
||||
void FontPreview::_preview_changed() {
|
||||
queue_redraw();
|
||||
}
|
||||
|
||||
|
|
|
@ -225,6 +225,8 @@ protected:
|
|||
|
||||
Ref<Font> prev_font;
|
||||
|
||||
void _preview_changed();
|
||||
|
||||
public:
|
||||
virtual Size2 get_minimum_size() const override;
|
||||
|
||||
|
|
|
@ -3213,7 +3213,6 @@ void SystemFont::_update_base_font() {
|
|||
}
|
||||
|
||||
_invalidate_rids();
|
||||
notify_property_list_changed();
|
||||
}
|
||||
|
||||
void SystemFont::reset_state() {
|
||||
|
|
Loading…
Reference in New Issue