diff options
| -rw-r--r-- | graphics/font.cpp | 12 | ||||
| -rw-r--r-- | graphics/font.h | 11 | 
2 files changed, 12 insertions, 11 deletions
| diff --git a/graphics/font.cpp b/graphics/font.cpp index 7768b7362d..3446619299 100644 --- a/graphics/font.cpp +++ b/graphics/font.cpp @@ -142,11 +142,11 @@ struct WordWrapper {  };  template<class StringType> -int wordWrapTextImpl(const Font &font, const StringType &str, int maxWidth, Common::Array<StringType> &lines) { +int wordWrapTextImpl(const Font &font, const StringType &str, int maxWidth, Common::Array<StringType> &lines, int initWidth) {  	WordWrapper<StringType> wrapper(lines);  	StringType line;  	StringType tmpStr; -	int lineWidth = 0; +	int lineWidth = initWidth;  	int tmpWidth = 0;  	// The rough idea behind this algorithm is as follows: @@ -305,12 +305,12 @@ void Font::drawString(ManagedSurface *dst, const Common::U32String &str, int x,  	}  } -int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines) const { -	return wordWrapTextImpl(*this, str, maxWidth, lines); +int Font::wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines, int initWidth) const { +	return wordWrapTextImpl(*this, str, maxWidth, lines, initWidth);  } -int Font::wordWrapText(const Common::U32String &str, int maxWidth, Common::Array<Common::U32String> &lines) const { -	return wordWrapTextImpl(*this, str, maxWidth, lines); +int Font::wordWrapText(const Common::U32String &str, int maxWidth, Common::Array<Common::U32String> &lines, int initWidth) const { +	return wordWrapTextImpl(*this, str, maxWidth, lines, initWidth);  }  Common::String Font::handleEllipsis(const Common::String &input, int w) const { diff --git a/graphics/font.h b/graphics/font.h index 0478608708..6682ce015b 100644 --- a/graphics/font.h +++ b/graphics/font.h @@ -169,13 +169,14 @@ public:  	 * It returns the maximal width of any of the new lines (i.e. a value which is less  	 * or equal to maxWidth).  	 * -	 * @param str      the string to word wrap -	 * @param maxWidth the maximum width a line may have -	 * @param lines    the string list to which the text lines from str are appended +	 * @param str       the string to word wrap +	 * @param maxWidth  the maximum width a line may have +	 * @param lines     the string list to which the text lines from str are appended +	 * @param initWidth the starting width of the first line, for partially filled lines (optional)  	 * @return the maximal width of any of the lines added to lines  	 */ -	int wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines) const; -	int wordWrapText(const Common::U32String &str, int maxWidth, Common::Array<Common::U32String> &lines) const; +	int wordWrapText(const Common::String &str, int maxWidth, Common::Array<Common::String> &lines, int initWidth = 0) const; +	int wordWrapText(const Common::U32String &str, int maxWidth, Common::Array<Common::U32String> &lines, int initWidth = 0) const;  private:  	Common::String handleEllipsis(const Common::String &str, int w) const; | 
