changeset 18191:43ff0f799ae5 draft

(svn r23020) -Codechange: Vertically centre caption text if the caption height is taller than the text.
author peter1138 <peter1138@openttd.org>
date Tue, 11 Oct 2011 13:22:31 +0000
parents 7a9e0f93b08a
children a28c8d15ff75
files src/widget.cpp
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/widget.cpp
+++ b/src/widget.cpp
@@ -514,7 +514,11 @@
 		GfxFillRect(r.left + 2, r.top + 2, r.right - 2, r.bottom - 2, _colour_gradient[_company_colours[owner]][4]);
 	}
 
-	if (str != STR_NULL) DrawString(r.left + WD_CAPTIONTEXT_LEFT, r.right - WD_CAPTIONTEXT_RIGHT, r.top + WD_CAPTIONTEXT_TOP, str, TC_FROMSTRING, SA_HOR_CENTER);
+	if (str != STR_NULL) {
+		Dimension d = GetStringBoundingBox(str);
+		int offset = max(0, ((int)(r.bottom - r.top + 1) - (int)d.height) / 2); // Offset for rendering the text vertically centered
+		DrawString(r.left + WD_CAPTIONTEXT_LEFT, r.right - WD_CAPTIONTEXT_RIGHT, r.top + offset, str, TC_FROMSTRING, SA_HOR_CENTER);
+	}
 }
 
 /**