mirror of
https://github.com/godotengine/godot.git
synced 2025-02-06 10:51:18 +00:00
Fix calculation bug with TextEdit::get_line_height()
When `get_line_height()` is less than `1`, there is no visible text. So limit the return value of `get_line_height()` to **not less** than `1` for calculation.
This commit is contained in:
parent
9f12e7b52d
commit
391bce44b7
@ -347,7 +347,8 @@
|
||||
<method name="get_line_height" qualifiers="const">
|
||||
<return type="int" />
|
||||
<description>
|
||||
Returns the height of a largest line.
|
||||
Returns the maximum value of the line height among all lines.
|
||||
[b]Note:[/b] The return value is influenced by [theme_item line_spacing] and [theme_item font_size]. And it will not be less than [code]1[/code].
|
||||
</description>
|
||||
</method>
|
||||
<method name="get_line_width" qualifiers="const">
|
||||
|
@ -3005,6 +3005,9 @@ void TextEdit::_update_theme_item_cache() {
|
||||
theme_cache.outline_color = get_theme_color(SNAME("font_outline_color"));
|
||||
|
||||
theme_cache.line_spacing = get_theme_constant(SNAME("line_spacing"));
|
||||
if (text.get_line_height() + theme_cache.line_spacing < 1) {
|
||||
WARN_PRINT("Line height is too small, please increase font_size and/or line_spacing");
|
||||
}
|
||||
|
||||
theme_cache.background_color = get_theme_color(SNAME("background_color"));
|
||||
theme_cache.current_line_color = get_theme_color(SNAME("current_line_color"));
|
||||
@ -3476,7 +3479,7 @@ int TextEdit::get_line_width(int p_line, int p_wrap_index) const {
|
||||
}
|
||||
|
||||
int TextEdit::get_line_height() const {
|
||||
return text.get_line_height() + theme_cache.line_spacing;
|
||||
return MAX(text.get_line_height() + theme_cache.line_spacing, 1);
|
||||
}
|
||||
|
||||
int TextEdit::get_indent_level(int p_line) const {
|
||||
|
Loading…
Reference in New Issue
Block a user