mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-10-31 15:20:10 +00:00
Codechange: Simplify calling of DrawCharCentered()
This commit is contained in:
parent
4f93dd95e4
commit
2efa390a7d
10
src/gfx.cpp
10
src/gfx.cpp
@ -891,15 +891,17 @@ const char *GetCharAtPosition(const char *str, int x, FontSize start_fontsize)
|
||||
/**
|
||||
* Draw single character horizontally centered around (x,y)
|
||||
* @param c Character (glyph) to draw
|
||||
* @param x X position to draw character
|
||||
* @param y Y position to draw character
|
||||
* @param r Rectangle to draw character within
|
||||
* @param colour Colour to use, for details see _string_colourmap in
|
||||
* table/palettes.h or docs/ottd-colourtext-palette.png or the enum TextColour in gfx_type.h
|
||||
*/
|
||||
void DrawCharCentered(WChar c, int x, int y, TextColour colour)
|
||||
void DrawCharCentered(WChar c, const Rect &r, TextColour colour)
|
||||
{
|
||||
SetColourRemap(colour);
|
||||
GfxMainBlitter(GetGlyph(FS_NORMAL, c), x - GetCharacterWidth(FS_NORMAL, c) / 2, y, BM_COLOUR_REMAP);
|
||||
GfxMainBlitter(GetGlyph(FS_NORMAL, c),
|
||||
CenterBounds(r.left, r.right, GetCharacterWidth(FS_NORMAL, c)),
|
||||
CenterBounds(r.top, r.bottom, FONT_HEIGHT_NORMAL),
|
||||
BM_COLOUR_REMAP);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -96,7 +96,7 @@ int DrawString(int left, int right, int top, StringID str, TextColour colour = T
|
||||
int DrawStringMultiLine(int left, int right, int top, int bottom, const char *str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour = TC_FROMSTRING, StringAlignment align = (SA_TOP | SA_LEFT), bool underline = false, FontSize fontsize = FS_NORMAL);
|
||||
|
||||
void DrawCharCentered(WChar c, int x, int y, TextColour colour);
|
||||
void DrawCharCentered(WChar c, const Rect &r, TextColour colour);
|
||||
|
||||
void GfxFillRect(int left, int top, int right, int bottom, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||
void GfxFillPolygon(const std::vector<Point> &shape, int colour, FillRectMode mode = FILLRECT_OPAQUE);
|
||||
|
@ -103,10 +103,7 @@ struct OskWindow : public Window {
|
||||
if (widget < WID_OSK_LETTERS) return;
|
||||
|
||||
widget -= WID_OSK_LETTERS;
|
||||
DrawCharCentered(_keyboard[this->shift][widget],
|
||||
r.left + (r.right - r.left) / 2,
|
||||
r.top + (r.bottom - r.top - FONT_HEIGHT_NORMAL) / 2,
|
||||
TC_BLACK);
|
||||
DrawCharCentered(_keyboard[this->shift][widget], r, TC_BLACK);
|
||||
}
|
||||
|
||||
void OnClick(Point pt, int widget, int click_count) override
|
||||
|
Loading…
Reference in New Issue
Block a user