summaryrefslogtreecommitdiff
path: root/src/gfx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/gfx.cpp')
-rw-r--r--src/gfx.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/gfx.cpp b/src/gfx.cpp
index 1f4b40a54..a4bac6e13 100644
--- a/src/gfx.cpp
+++ b/src/gfx.cpp
@@ -673,6 +673,28 @@ int DrawString(int left, int right, int top, const char *str, TextColour colour,
* @return In case of left or center alignment the right most pixel we have drawn to.
* In case of right alignment the left most pixel we have drawn to.
*/
+int DrawString(int left, int right, int top, const std::string &str, TextColour colour, StringAlignment align, bool underline, FontSize fontsize)
+{
+ return DrawString(left, right, top, str.c_str(), colour, align, underline, fontsize);
+}
+
+/**
+ * Draw string, possibly truncated to make it fit in its allocated space
+ *
+ * @param left The left most position to draw on.
+ * @param right The right most position to draw on.
+ * @param top The top most position to draw on.
+ * @param str String to draw.
+ * @param colour Colour used for drawing the string, for details see _string_colourmap in
+ * table/palettes.h or docs/ottd-colourtext-palette.png or the enum TextColour in gfx_type.h
+ * @param align The alignment of the string when drawing left-to-right. In the
+ * case a right-to-left language is chosen this is inverted so it
+ * will be drawn in the right direction.
+ * @param underline Whether to underline what has been drawn or not.
+ * @param fontsize The size of the initial characters.
+ * @return In case of left or center alignment the right most pixel we have drawn to.
+ * In case of right alignment the left most pixel we have drawn to.
+ */
int DrawString(int left, int right, int top, StringID str, TextColour colour, StringAlignment align, bool underline, FontSize fontsize)
{
char buffer[DRAW_STRING_BUFFER];
@@ -806,6 +828,28 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, const char *st
return ((align & SA_VERT_MASK) == SA_BOTTOM) ? first_line : last_line;
}
+
+/**
+ * Draw string, possibly over multiple lines.
+ *
+ * @param left The left most position to draw on.
+ * @param right The right most position to draw on.
+ * @param top The top most position to draw on.
+ * @param bottom The bottom most position to draw on.
+ * @param str String to draw.
+ * @param colour Colour used for drawing the string, for details see _string_colourmap in
+ * table/palettes.h or docs/ottd-colourtext-palette.png or the enum TextColour in gfx_type.h
+ * @param align The horizontal and vertical alignment of the string.
+ * @param underline Whether to underline all strings
+ * @param fontsize The size of the initial characters.
+ *
+ * @return If \a align is #SA_BOTTOM, the top to where we have written, else the bottom to where we have written.
+ */
+int DrawStringMultiLine(int left, int right, int top, int bottom, const std::string &str, TextColour colour, StringAlignment align, bool underline, FontSize fontsize)
+{
+ return DrawStringMultiLine(left, right, top, bottom, str.c_str(), colour, align, underline, fontsize);
+}
+
/**
* Draw string, possibly over multiple lines.
*