summaryrefslogtreecommitdiff
path: root/src/gfx.cpp
diff options
context:
space:
mode:
authorzuu <zuu@openttd.org>2013-06-09 12:21:44 +0000
committerzuu <zuu@openttd.org>2013-06-09 12:21:44 +0000
commite31190219872a69e4497f8d8f0fb3235c59f826b (patch)
treec73ca8de93f8773535cd46a34cd534a9b4e9976a /src/gfx.cpp
parent9aa1bf026443ddc65ab4381e86c294943ddc30d8 (diff)
downloadopenttd-e31190219872a69e4497f8d8f0fb3235c59f826b.tar.xz
(svn r25343) -Add: method to count the number of lines required to draw a string with line warping
Diffstat (limited to 'src/gfx.cpp')
-rw-r--r--src/gfx.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp
index 962913495..7cfe08241 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -883,6 +883,23 @@ int GetStringHeight(StringID str, int maxw)
}
/**
+ * Calculates number of lines of string. The string is changed to a multiline string if needed.
+ * @param str string to check
+ * @param maxw maximum string width
+ * @return number of lines of string when it is drawn
+ */
+int GetStringLineCount(StringID str, int maxw)
+{
+ char buffer[DRAW_STRING_BUFFER];
+
+ GetString(buffer, str, lastof(buffer));
+
+ uint32 tmp = FormatStringLinebreaks(buffer, lastof(buffer), maxw);
+
+ return 1 + GB(tmp, 0, 16);
+}
+
+/**
* Calculate string bounding box for multi-line strings.
* @param str String to check.
* @param suggestion Suggested bounding box.