From: sapier Date: Thu, 25 Sep 2014 17:54:02 +0000 (+0200) Subject: Fix chat lines not word wrapped correct X-Git-Tag: 0.4.11~255 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=15c7460edaa279b96c235ec8bc4ae9bad5739e66;p=oweals%2Fminetest.git Fix chat lines not word wrapped correct --- diff --git a/src/game.cpp b/src/game.cpp index 45b879ff2..a8f6bc992 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -1102,8 +1102,16 @@ static void updateChat(Client& client, f32 dtime, bool show_debug, if (show_debug) chat_y += line_height; - core::rect rect(10, chat_y, font->getDimension(recent_chat.c_str()).Width +10, - chat_y + (recent_chat_count * line_height)); + // first pass to calculate height of text to be set + s32 width = std::min(font->getDimension(recent_chat.c_str()).Width + 10, + porting::getWindowSize().X - 20); + core::rect rect(10, chat_y, width, chat_y + porting::getWindowSize().Y); + guitext_chat->setRelativePosition(rect); + + //now use real height of text and adjust rect according to this size + rect = core::rect(10, chat_y, width, + chat_y + guitext_chat->getTextHeight()); + guitext_chat->setRelativePosition(rect); // Don't show chat if disabled or empty or profiler is enabled