From 13e7ec6e8ec9569aa8b6ee9a8786146354dd10c5 Mon Sep 17 00:00:00 2001 From: Gymnasiast Date: Sat, 27 Feb 2021 13:10:00 +0100 Subject: [PATCH] Allow passing TextPaint to DrawTextBasic() --- src/openrct2/drawing/Text.cpp | 18 +++++++++++++++--- src/openrct2/drawing/Text.h | 4 ++++ 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/src/openrct2/drawing/Text.cpp b/src/openrct2/drawing/Text.cpp index c19c3577ea..4bc8ce55da 100644 --- a/src/openrct2/drawing/Text.cpp +++ b/src/openrct2/drawing/Text.cpp @@ -116,20 +116,32 @@ static void DrawText( DrawText(dpi, coords, paint, buffer); } +void DrawTextBasic( + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const void* args, TextPaint textPaint) +{ + gCurrentFontSpriteBase = textPaint.SpriteBase; + DrawText(dpi, coords, textPaint, format, args); +} + +void DrawTextBasic( + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const Formatter& ft, TextPaint textPaint) +{ + DrawTextBasic(dpi, coords, format, ft.Data(), textPaint); +} + void DrawTextBasic( rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const void* args, colour_t colour, TextAlignment alignment, bool underline) { TextPaint textPaint = { colour, FontSpriteBase::MEDIUM, underline ? TextUnderline::On : TextUnderline::Off, alignment }; - gCurrentFontSpriteBase = FontSpriteBase::MEDIUM; - DrawText(dpi, coords, textPaint, format, args); + DrawTextBasic(dpi, coords, format, args, textPaint); } void DrawTextBasic( rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const Formatter& ft, colour_t colour, TextAlignment alignment, bool underline) { - return DrawTextBasic(dpi, coords, format, ft.Data(), colour, alignment, underline); + DrawTextBasic(dpi, coords, format, ft.Data(), colour, alignment, underline); } void DrawTextEllipsised( diff --git a/src/openrct2/drawing/Text.h b/src/openrct2/drawing/Text.h index d2ae296c6f..9c3693be39 100644 --- a/src/openrct2/drawing/Text.h +++ b/src/openrct2/drawing/Text.h @@ -138,6 +138,10 @@ public: int32_t GetLineCount(); }; +void DrawTextBasic( + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const Formatter& ft, TextPaint textPaint); +void DrawTextBasic( + rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const void* args, TextPaint textPaint); void DrawTextBasic( rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const Formatter& ft, colour_t colour, TextAlignment alignment = TextAlignment::LEFT, bool underline = false);