From b0b93cd4a7986dd0a951ded77eb087c6d4535c64 Mon Sep 17 00:00:00 2001 From: peter1138 Date: Tue, 11 Oct 2011 13:22:31 +0000 Subject: (svn r23020) -Codechange: Vertically centre caption text if the caption height is taller than the text. --- src/widget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/widget.cpp b/src/widget.cpp index c4c48d3da..5e02ed831 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -514,7 +514,11 @@ void DrawCaption(const Rect &r, Colours colour, Owner owner, StringID str) 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); + } } /** -- cgit v1.2.3-54-g00ecf