mirror of
https://github.com/vcmi/vcmi.git
synced 2025-11-29 23:07:48 +02:00
vcmi: actually implement AUTO for CInfoWindow
This is possible to use infobar interactions now.
This commit is contained in:
@@ -202,6 +202,25 @@ std::vector<std::string> CMessage::breakText( std::string text, size_t maxLineWi
|
||||
return ret;
|
||||
}
|
||||
|
||||
std::string CMessage::guessHeader(const std::string & msg)
|
||||
{
|
||||
size_t begin = 0;
|
||||
std::string delimeters = "{}";
|
||||
size_t start = msg.find_first_of(delimeters[0], begin);
|
||||
size_t end = msg.find_first_of(delimeters[1], start);
|
||||
if(start > msg.size() || end > msg.size())
|
||||
return "";
|
||||
return msg.substr(begin, end);
|
||||
}
|
||||
|
||||
int CMessage::guessHeight(const std::string & txt, int width, EFonts font)
|
||||
{
|
||||
const auto f = graphics->fonts[font];
|
||||
auto lines = CMessage::breakText(txt, width, font);
|
||||
int lineHeight = static_cast<int>(f->getLineHeight());
|
||||
return lineHeight * (int)lines.size();
|
||||
}
|
||||
|
||||
void CMessage::drawIWindow(CInfoWindow * ret, std::string text, PlayerColor player)
|
||||
{
|
||||
bool blitOr = false;
|
||||
|
||||
Reference in New Issue
Block a user