1
0
Fork 0

(svn r17306) -Fix: DrawStringMultiLine() computed available width and height wrongly.

release/1.0
alberth 2009-08-29 17:00:32 +00:00
parent 9eb06f125f
commit 79a8da1c04
1 changed files with 3 additions and 3 deletions

View File

@ -748,8 +748,8 @@ int GetStringHeight(StringID str, int maxw)
*/ */
int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour, StringAlignment align, bool underline) int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str, TextColour colour, StringAlignment align, bool underline)
{ {
int maxw = right - left; int maxw = right - left + 1;
int maxh = bottom - top; int maxh = bottom - top + 1;
char buffer[DRAW_STRING_BUFFER]; char buffer[DRAW_STRING_BUFFER];
GetString(buffer, str, lastof(buffer)); GetString(buffer, str, lastof(buffer));
@ -760,7 +760,7 @@ int DrawStringMultiLine(int left, int right, int top, int bottom, StringID str,
int mt = GetCharacterHeight((FontSize)GB(tmp, 16, 16)); int mt = GetCharacterHeight((FontSize)GB(tmp, 16, 16));
int total_height = (num + 1) * mt; int total_height = (num + 1) * mt;
if (maxh != -1 && (int)total_height > maxh) { if (maxh != 0 && total_height > maxh) {
/* Check there's room enough for at least one line. */ /* Check there's room enough for at least one line. */
if (maxh < mt) return top; if (maxh < mt) return top;