diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2022-09-21 15:36:50 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2022-09-21 15:36:50 +0200 |
commit | dd3f3f6717816903e3a1018eb35e3c5123d2610a (patch) | |
tree | 152d2d5e1e4ae2b3af1f1b3ce0905d8edc424ca1 | |
parent | 057dd292e41fd1d1dbdccb8f1a479716aaeeab2a (diff) | |
parent | 332c566a6c8a79c14a5336f1ed80b66bbf9b51bc (diff) |
Merge pull request #66210 from Rindbee/fix-font-string-size
Let the cached `TextLine` reset the width in `get_string_size`
-rw-r--r-- | scene/resources/font.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/scene/resources/font.cpp b/scene/resources/font.cpp index 3d9e4e4a63..bbc4029764 100644 --- a/scene/resources/font.cpp +++ b/scene/resources/font.cpp @@ -272,13 +272,15 @@ Size2 Font::get_string_size(const String &p_text, HorizontalAlignment p_alignmen buffer->set_direction(p_direction); buffer->set_orientation(p_orientation); buffer->add_string(p_text, Ref<Font>(this), p_font_size); - if (p_alignment == HORIZONTAL_ALIGNMENT_FILL) { - buffer->set_horizontal_alignment(p_alignment); - buffer->set_width(p_width); - buffer->set_flags(p_jst_flags); - } cache.insert(hash, buffer); } + + buffer->set_width(p_width); + buffer->set_horizontal_alignment(p_alignment); + if (p_alignment == HORIZONTAL_ALIGNMENT_FILL) { + buffer->set_flags(p_jst_flags); + } + return buffer->get_size(); } |