From 57d571a1c40ac58ca47a68dbe24ab1ca717dabed Mon Sep 17 00:00:00 2001 From: Gen Date: Thu, 30 Apr 2015 00:03:19 +0800 Subject: Update label.cpp --- scene/gui/label.cpp | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/scene/gui/label.cpp b/scene/gui/label.cpp index 83b36daff4..4069fbb553 100644 --- a/scene/gui/label.cpp +++ b/scene/gui/label.cpp @@ -437,6 +437,25 @@ void Label::regenerate_word_cache() { wc->space_count = space_count; current_word_size=0; space_count=0; + } + float current_width = font->get_char_size(current).width; + if ((autowrap && line_width+current_width>=width && last_widthnext=wc; + } else { + word_cache=wc; + } + last=wc; + + wc->pixel_width=0; + wc->char_pos=WordCache::CHAR_WRAPLINE; + + line_width=0; + line_count++; + + } WordCache *wc = memnew( WordCache ); if (word_cache) { @@ -446,7 +465,7 @@ void Label::regenerate_word_cache() { } last=wc; - wc->pixel_width=font->get_char_size(current).width; + wc->pixel_width=current_width; wc->char_pos=i; wc->word_len=1; wc->space_count=space_count; -- cgit v1.2.3