Get rid of guiroot

The guienvironment already provides a root gui element, we don't need to add another one.
(For CGUIEnvironment, the env itself is the root element.)
This commit is contained in:
Desour 2023-08-09 02:21:29 +02:00 committed by sfan5
parent 7e7aceb8c1
commit 45e7a80057
5 changed files with 12 additions and 18 deletions

@ -42,7 +42,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
/* mainmenumanager.h /* mainmenumanager.h
*/ */
gui::IGUIEnvironment *guienv = nullptr; gui::IGUIEnvironment *guienv = nullptr;
gui::IGUIStaticText *guiroot = nullptr;
MainMenuManager g_menumgr; MainMenuManager g_menumgr;
bool isMenuActive() bool isMenuActive()
@ -218,14 +217,6 @@ bool ClientLauncher::run(GameStartData &start_data, const Settings &cmd_args)
m_rendering_engine->get_gui_env()->clear(); m_rendering_engine->get_gui_env()->clear();
/*
We need some kind of a root node to be able to add
custom gui elements directly on the screen.
Otherwise they won't be automatically drawn.
*/
guiroot = m_rendering_engine->get_gui_env()->addStaticText(L"",
core::rect<s32>(0, 0, 10000, 10000));
bool game_has_run = launch_game(error_message, reconnect_requested, bool game_has_run = launch_game(error_message, reconnect_requested,
start_data, cmd_args); start_data, cmd_args);
@ -556,7 +547,8 @@ void ClientLauncher::main_menu(MainMenuData *menudata)
#endif #endif
/* show main menu */ /* show main menu */
GUIEngine mymenu(&input->joystick, guiroot, m_rendering_engine, &g_menumgr, menudata, *kill); GUIEngine mymenu(&input->joystick, m_rendering_engine->get_gui_env()->getRootGUIElement(),
m_rendering_engine, &g_menumgr, menudata, *kill);
/* leave scene manager in a clean state */ /* leave scene manager in a clean state */
m_rendering_engine->get_scene_manager()->clear(); m_rendering_engine->get_scene_manager()->clear();

@ -1806,19 +1806,19 @@ inline bool Game::handleCallbacks()
} }
if (g_gamecallback->changepassword_requested) { if (g_gamecallback->changepassword_requested) {
(new GUIPasswordChange(guienv, guiroot, -1, (new GUIPasswordChange(guienv, guienv->getRootGUIElement(), -1,
&g_menumgr, client, texture_src))->drop(); &g_menumgr, client, texture_src))->drop();
g_gamecallback->changepassword_requested = false; g_gamecallback->changepassword_requested = false;
} }
if (g_gamecallback->changevolume_requested) { if (g_gamecallback->changevolume_requested) {
(new GUIVolumeChange(guienv, guiroot, -1, (new GUIVolumeChange(guienv, guienv->getRootGUIElement(), -1,
&g_menumgr, texture_src))->drop(); &g_menumgr, texture_src))->drop();
g_gamecallback->changevolume_requested = false; g_gamecallback->changevolume_requested = false;
} }
if (g_gamecallback->keyconfig_requested) { if (g_gamecallback->keyconfig_requested) {
(new GUIKeyChangeMenu(guienv, guiroot, -1, (new GUIKeyChangeMenu(guienv, guienv->getRootGUIElement(), -1,
&g_menumgr, texture_src))->drop(); &g_menumgr, texture_src))->drop();
g_gamecallback->keyconfig_requested = false; g_gamecallback->keyconfig_requested = false;
} }
@ -4142,7 +4142,7 @@ void Game::updateFrame(ProfilerGraph *graph, RunStats *stats, f32 dtime,
} }
if (isMenuActive()) if (isMenuActive())
guiroot->bringToFront(formspec); m_rendering_engine->get_gui_env()->getRootGUIElement()->bringToFront(formspec);
} while (false); } while (false);
/* /*

@ -53,6 +53,8 @@ GameUI::GameUI()
} }
void GameUI::init() void GameUI::init()
{ {
IGUIElement *guiroot = guienv->getRootGUIElement();
// First line of debug text // First line of debug text
m_guitext = gui::StaticText::add(guienv, utf8_to_wide(PROJECT_NAME_C).c_str(), m_guitext = gui::StaticText::add(guienv, utf8_to_wide(PROJECT_NAME_C).c_str(),
core::rect<s32>(0, 0, 0, 0), false, true, guiroot); core::rect<s32>(0, 0, 0, 0), false, true, guiroot);

@ -139,9 +139,9 @@ void GUIFormSpecMenu::create(GUIFormSpecMenu *&cur_formspec, Client *client,
TextDest *txt_dest, const std::string &formspecPrepend, ISoundManager *sound_manager) TextDest *txt_dest, const std::string &formspecPrepend, ISoundManager *sound_manager)
{ {
if (cur_formspec == nullptr) { if (cur_formspec == nullptr) {
cur_formspec = new GUIFormSpecMenu(joystick, guiroot, -1, &g_menumgr, cur_formspec = new GUIFormSpecMenu(joystick, guienv->getRootGUIElement(),
client, guienv, client->getTextureSource(), sound_manager, fs_src, -1, &g_menumgr, client, guienv, client->getTextureSource(), sound_manager,
txt_dest, formspecPrepend); fs_src, txt_dest, formspecPrepend);
cur_formspec->doPause = false; cur_formspec->doPause = false;
/* /*

@ -38,8 +38,8 @@ public:
virtual void signalKeyConfigChange() = 0; virtual void signalKeyConfigChange() = 0;
}; };
// FIXME: do we really need this global variable?
extern gui::IGUIEnvironment *guienv; extern gui::IGUIEnvironment *guienv;
extern gui::IGUIStaticText *guiroot;
// Handler for the modal menus // Handler for the modal menus