diff options
| author | Eugene Sandulenko | 2017-01-29 18:40:36 +0100 | 
|---|---|---|
| committer | Eugene Sandulenko | 2017-01-29 18:41:07 +0100 | 
| commit | dc640ab50a63b0383c6aec6df4e0427df1824c3e (patch) | |
| tree | 69a1176c00f2d206c0d022848a1ec859e7d74976 | |
| parent | 1c6b31397a382e4adb315456a321caf144766826 (diff) | |
| download | scummvm-rg350-dc640ab50a63b0383c6aec6df4e0427df1824c3e.tar.gz scummvm-rg350-dc640ab50a63b0383c6aec6df4e0427df1824c3e.tar.bz2 scummvm-rg350-dc640ab50a63b0383c6aec6df4e0427df1824c3e.zip | |
GRAPHICS: Added optional initial line width ot text wrapper
| -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; | 
