Make debug text adjust it's border to the screensize and fix a border update bug

master
ShadowNinja 2014-04-27 18:43:16 -04:00
parent 65016c880c
commit 088b18da3d
1 changed files with 24 additions and 5 deletions

View File

@ -1099,8 +1099,6 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
// Calculate text height using the font
u32 text_height = font->getDimension(L"Random test string").Height;
v2u32 screensize = driver->getScreenSize();
/*
Draw "Loading" screen
*/
@ -1536,12 +1534,12 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
// First line of debug text
gui::IGUIStaticText *guitext = guienv->addStaticText(
L"Minetest",
core::rect<s32>(5, 5, 795, 5+text_height),
core::rect<s32>(0, 0, 0, 0),
false, false);
// Second line of debug text
gui::IGUIStaticText *guitext2 = guienv->addStaticText(
L"",
core::rect<s32>(5, 5+(text_height+5)*1, 795, (5+text_height)*2),
core::rect<s32>(0, 0, 0, 0),
false, false);
// At the middle of the screen
// Object infos are shown in this
@ -1677,6 +1675,8 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
if(device->run() == false || kill == true)
break;
v2u32 screensize = driver->getScreenSize();
// Time of frame without fps limit
float busytime;
u32 busytime_u32;
@ -3220,7 +3220,18 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
{
guitext->setVisible(false);
}
if (guitext->isVisible())
{
core::rect<s32> rect(
5,
5,
screensize.X,
5 + text_height
);
guitext->setRelativePosition(rect);
}
if(show_debug)
{
std::ostringstream os(std::ios_base::binary);
@ -3233,6 +3244,14 @@ void the_game(bool &kill, bool random_input, InputHandler *input,
<<")";
guitext2->setText(narrow_to_wide(os.str()).c_str());
guitext2->setVisible(true);
core::rect<s32> rect(
5,
5 + text_height,
screensize.X,
5 + (text_height * 2)
);
guitext2->setRelativePosition(rect);
}
else
{