diff options
author | peter1138 <peter1138@openttd.org> | 2011-10-11 19:05:54 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2011-10-11 19:05:54 +0000 |
commit | 635ccea95d630b00a6c3a3f1b220439119362e5d (patch) | |
tree | 6831301058f00dcd2d3930899de144dc92137ff0 /src | |
parent | 50477b61b2530c43a24b8e928496b6a57677f9e1 (diff) | |
download | openttd-635ccea95d630b00a6c3a3f1b220439119362e5d.tar.xz |
(svn r23024) -Codechange: Vertically centre text within a dropdown control.
Diffstat (limited to 'src')
-rw-r--r-- | src/widget.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widget.cpp b/src/widget.cpp index 5e02ed831..1e50cdf6f 100644 --- a/src/widget.cpp +++ b/src/widget.cpp @@ -533,16 +533,18 @@ void DrawCaption(const Rect &r, Colours colour, Owner owner, StringID str) */ static inline void DrawButtonDropdown(const Rect &r, Colours colour, bool clicked_button, bool clicked_dropdown, StringID str) { + int text_offset = max(0, ((int)(r.bottom - r.top + 1) - FONT_HEIGHT_NORMAL) / 2); // Offset for rendering the text vertically centered + if (_current_text_dir == TD_LTR) { DrawFrameRect(r.left, r.top, r.right - 12, r.bottom, colour, clicked_button ? FR_LOWERED : FR_NONE); DrawFrameRect(r.right - 11, r.top, r.right, r.bottom, colour, clicked_dropdown ? FR_LOWERED : FR_NONE); DrawString(r.right - (clicked_dropdown ? 10 : 11), r.right, r.top + (clicked_dropdown ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER); - if (str != STR_NULL) DrawString(r.left + WD_DROPDOWNTEXT_LEFT + clicked_button, r.right - WD_DROPDOWNTEXT_RIGHT + clicked_button, r.top + WD_DROPDOWNTEXT_TOP + clicked_button, str, TC_BLACK); + if (str != STR_NULL) DrawString(r.left + WD_DROPDOWNTEXT_LEFT + clicked_button, r.right - WD_DROPDOWNTEXT_RIGHT + clicked_button, r.top + text_offset + clicked_button, str, TC_BLACK); } else { DrawFrameRect(r.left + 12, r.top, r.right, r.bottom, colour, clicked_button ? FR_LOWERED : FR_NONE); DrawFrameRect(r.left, r.top, r.left + 11, r.bottom, colour, clicked_dropdown ? FR_LOWERED : FR_NONE); DrawString(r.left + clicked_dropdown, r.left + 11, r.top + (clicked_dropdown ? 2 : 1), DOWNARROW, TC_BLACK, SA_HOR_CENTER); - if (str != STR_NULL) DrawString(r.left + WD_DROPDOWNTEXT_RIGHT + clicked_button, r.right - WD_DROPDOWNTEXT_LEFT + clicked_button, r.top + WD_DROPDOWNTEXT_TOP + clicked_button, str, TC_BLACK); + if (str != STR_NULL) DrawString(r.left + WD_DROPDOWNTEXT_RIGHT + clicked_button, r.right - WD_DROPDOWNTEXT_LEFT + clicked_button, r.top + text_offset + clicked_button, str, TC_BLACK); } } |