(svn r5967) -Change: use right alignment for the year in the player's balance window instead of centering (about) 'string width' / 2 from the right edge
authorrubidium
Sun, 20 Aug 2006 10:50:23 +0000
changeset 4314 c7ded7546e7f
parent 4313 bbd84f6e21b0
child 4315 a0fc451fad6b
(svn r5967) -Change: use right alignment for the year in the player's balance window instead of centering (about) 'string width' / 2 from the right edge
gfx.c
gfx.h
player_gui.c
--- a/gfx.c	Sun Aug 20 10:45:36 2006 +0000
+++ b/gfx.c	Sun Aug 20 10:50:23 2006 +0000
@@ -352,12 +352,16 @@
 }
 
 
-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 @@
 	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)
 {
--- a/gfx.h	Sun Aug 20 10:45:36 2006 +0000
+++ b/gfx.h	Sun Aug 20 10:50:23 2006 +0000
@@ -67,8 +67,9 @@
 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);
--- a/player_gui.c	Sun Aug 20 10:45:36 2006 +0000
+++ b/player_gui.c	Sun Aug 20 10:50:23 2006 +0000
@@ -48,7 +48,7 @@
 		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 */