mirror of
https://github.com/libretro/scummvm.git
synced 2024-11-27 11:20:40 +00:00
GRAPHICS: Added optional initial line width ot text wrapper
This commit is contained in:
parent
1c6b31397a
commit
dc640ab50a
@ -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 {
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user