mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-25 15:54:31 +01:00
Expose DrawTextBasic() and DrawTextEllipsised()
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
#include "../common.h"
|
||||
#include "../interface/Colour.h"
|
||||
#include "../interface/ZoomLevel.hpp"
|
||||
#include "Text.h"
|
||||
|
||||
#include <optional>
|
||||
#include <vector>
|
||||
|
||||
@@ -115,18 +115,18 @@ static void DrawText(
|
||||
DrawText(dpi, coords, paint, buffer);
|
||||
}
|
||||
|
||||
static void DrawTextCompat(
|
||||
void DrawTextBasic(
|
||||
rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const void* args, uint8_t colour,
|
||||
TextAlignment alignment, bool underline = false)
|
||||
TextAlignment alignment, bool underline)
|
||||
{
|
||||
TextPaint textPaint = { colour, FONT_SPRITE_BASE_MEDIUM, underline, alignment };
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
DrawText(dpi, coords, textPaint, format, args);
|
||||
}
|
||||
|
||||
static void DrawTextEllipsisedCompat(
|
||||
void DrawTextEllipsised(
|
||||
rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, void* args, uint8_t colour,
|
||||
TextAlignment alignment, bool underline = false)
|
||||
TextAlignment alignment, bool underline)
|
||||
{
|
||||
TextPaint textPaint = { colour, FONT_SPRITE_BASE_MEDIUM, underline, alignment };
|
||||
gCurrentFontSpriteBase = FONT_SPRITE_BASE_MEDIUM;
|
||||
@@ -148,56 +148,56 @@ void gfx_draw_string(rct_drawpixelinfo* dpi, const_utf8string buffer, uint8_t co
|
||||
void gfx_draw_string_left(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::LEFT);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::LEFT);
|
||||
}
|
||||
|
||||
void gfx_draw_string_centred(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, const ScreenCoordsXY& coords, uint8_t colour, const void* args)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::CENTRE);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::CENTRE);
|
||||
}
|
||||
|
||||
void gfx_draw_string_right(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::RIGHT);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::RIGHT);
|
||||
}
|
||||
// Underline
|
||||
void draw_string_left_underline(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::LEFT, true);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::LEFT, true);
|
||||
}
|
||||
|
||||
void draw_string_centred_underline(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::CENTRE, true);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::CENTRE, true);
|
||||
}
|
||||
|
||||
void draw_string_right_underline(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords)
|
||||
{
|
||||
DrawTextCompat(dpi, coords, format, args, colour, TextAlignment::RIGHT, true);
|
||||
DrawTextBasic(dpi, coords, format, args, colour, TextAlignment::RIGHT, true);
|
||||
}
|
||||
|
||||
// Ellipsised
|
||||
void gfx_draw_string_left_clipped(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords, int32_t width)
|
||||
{
|
||||
DrawTextEllipsisedCompat(dpi, coords, width, format, args, colour, TextAlignment::LEFT);
|
||||
DrawTextEllipsised(dpi, coords, width, format, args, colour, TextAlignment::LEFT);
|
||||
}
|
||||
|
||||
void gfx_draw_string_centred_clipped(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords, int32_t width)
|
||||
{
|
||||
DrawTextEllipsisedCompat(dpi, coords, width, format, args, colour, TextAlignment::CENTRE);
|
||||
DrawTextEllipsised(dpi, coords, width, format, args, colour, TextAlignment::CENTRE);
|
||||
}
|
||||
|
||||
void gfx_draw_string_right_clipped(
|
||||
rct_drawpixelinfo* dpi, rct_string_id format, void* args, uint8_t colour, const ScreenCoordsXY& coords, int32_t width)
|
||||
{
|
||||
DrawTextEllipsisedCompat(dpi, coords, width, format, args, colour, TextAlignment::RIGHT);
|
||||
DrawTextEllipsised(dpi, coords, width, format, args, colour, TextAlignment::RIGHT);
|
||||
}
|
||||
|
||||
// Wrapping
|
||||
|
||||
@@ -48,3 +48,10 @@ public:
|
||||
int32_t GetWidth();
|
||||
int32_t GetLineCount();
|
||||
};
|
||||
|
||||
void DrawTextBasic(
|
||||
rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, rct_string_id format, const void* args, uint8_t colour,
|
||||
TextAlignment alignment, bool underline = false);
|
||||
void DrawTextEllipsised(
|
||||
rct_drawpixelinfo* dpi, const ScreenCoordsXY& coords, int32_t width, rct_string_id format, void* args, uint8_t colour,
|
||||
TextAlignment alignment, bool underline = false);
|
||||
|
||||
Reference in New Issue
Block a user