summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gfx.c14
-rw-r--r--gfx.h3
-rw-r--r--player_gui.c2
3 files changed, 15 insertions, 4 deletions
diff --git a/gfx.c b/gfx.c
index 58c22767e..f04c17aa6 100644
--- a/gfx.c
+++ b/gfx.c
@@ -352,12 +352,16 @@ int DrawStringTruncated(int x, int y, StringID str, uint16 color, uint maxw)
}
-void DrawStringRightAligned(int x, int y, StringID str, uint16 color)
+int DrawStringRightAligned(int x, int y, StringID str, uint16 color)
{
char buffer[512];
+ int w;
GetString(buffer, str);
- DoDrawString(buffer, x - GetStringWidth(buffer), y, color);
+ w = GetStringWidth(buffer);
+ DoDrawString(buffer, x - w, y, color);
+
+ return w;
}
void DrawStringRightAlignedTruncated(int x, int y, StringID str, uint16 color, uint maxw)
@@ -368,6 +372,12 @@ void DrawStringRightAlignedTruncated(int x, int y, StringID str, uint16 color, u
DoDrawString(buffer, x - GetStringWidth(buffer), y, color);
}
+void DrawStringRightAlignedUnderline(int x, int y, StringID str, uint16 color)
+{
+ int w = DrawStringRightAligned(x, y, str, color);
+ GfxFillRect(x - w, y + 10, x, y + 10, _string_colorremap[1]);
+}
+
int DrawStringCentered(int x, int y, StringID str, uint16 color)
{
diff --git a/gfx.h b/gfx.h
index 793905186..cecec1d02 100644
--- a/gfx.h
+++ b/gfx.h
@@ -67,8 +67,9 @@ int DoDrawStringTruncated(const char *str, int x, int y, uint16 color, uint maxw
void DrawStringCenterUnderline(int x, int y, StringID str, uint16 color);
void DrawStringCenterUnderlineTruncated(int xl, int xr, int y, StringID str, uint16 color);
-void DrawStringRightAligned(int x, int y, StringID str, uint16 color);
+int DrawStringRightAligned(int x, int y, StringID str, uint16 color);
void DrawStringRightAlignedTruncated(int x, int y, StringID str, uint16 color, uint maxw);
+void DrawStringRightAlignedUnderline(int x, int y, StringID str, uint16 color);
void GfxFillRect(int left, int top, int right, int bottom, int color);
void GfxDrawLine(int left, int top, int right, int bottom, int color);
diff --git a/player_gui.c b/player_gui.c
index 1c106e566..9f5aea362 100644
--- a/player_gui.c
+++ b/player_gui.c
@@ -48,7 +48,7 @@ static void DrawPlayerEconomyStats(const Player *p, byte mode)
do {
if (year >= BASE_YEAR + p->inaugurated_year) {
SetDParam(0, year);
- DrawStringCenterUnderline(x-17, 15, STR_7010, 0);
+ DrawStringRightAlignedUnderline(x, 15, STR_7010, 0);
sum = 0;
for (i = 0; i != 13; i++) {
/* draw one row in the price column */