From 4bdd5e11a909fb060b8e43f51049915f2b9192f5 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Mon, 31 Oct 2016 21:38:06 +0100 Subject: [PATCH] CHintBox: add member to get maximal required width --- src/gui/widget/hintbox.cpp | 7 ++++++- src/gui/widget/hintbox.h | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/gui/widget/hintbox.cpp b/src/gui/widget/hintbox.cpp index 0a0217fca..1ad1b2f87 100644 --- a/src/gui/widget/hintbox.cpp +++ b/src/gui/widget/hintbox.cpp @@ -259,7 +259,7 @@ void CHintBox::addHintItem(const std::string& Text, const int& text_mode, const //set required font and line size hb_font = !font_text ? hb_font : font_text; - width = max(width, min(hb_font->getRenderWidth(Text), HINTBOX_MIN_WIDTH)); + width = getMaxWidth(Text, width); int h_line = hb_font->getHeight(); //init side picon object @@ -439,6 +439,11 @@ void CHintBox::scroll_down(const uint& hint_id) Scroll(true, hint_id); } +int CHintBox::getMaxWidth(const string& Text, const int& minWidth) +{ + return max(HINTBOX_MIN_WIDTH, max(minWidth, min(hb_font->getRenderWidth(Text), (int)frameBuffer->getScreenWidth()))); +} + int ShowHint(const char * const Caption, const char * const Text, const int Width, int timeout, const char * const Icon, const char * const Picon, const int& header_buttons) { int res = messages_return::none; diff --git a/src/gui/widget/hintbox.h b/src/gui/widget/hintbox.h index 3f5a35724..5cf6b33e4 100644 --- a/src/gui/widget/hintbox.h +++ b/src/gui/widget/hintbox.h @@ -85,6 +85,7 @@ class CHintBox : public CComponentsWindow virtual void ReSize(); void showTimeOutBar(){enableTimeOutBar();} + int getMaxWidth(const std::string& Text, const int& minWidth); public: /**CHintBox Constructor