X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2FmodalMenu.h;h=72ecedcb9ca7e32e286548457b2cfff6734cc872;hb=8658c8d9b5f30dc952eed29a19d619de9210474c;hp=d19b4e27cb4d33e0966d7313cbd08a9e0b6e2053;hpb=22e186b4aa88b585e71500c4e9a03bf69b0b6191;p=minetest.git diff --git a/src/modalMenu.h b/src/modalMenu.h index d19b4e27c..72ecedcb9 100644 --- a/src/modalMenu.h +++ b/src/modalMenu.h @@ -21,6 +21,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #define MODALMENU_HEADER #include "irrlichttypes_extrabloated.h" +#ifdef HAVE_TOUCHSCREENGUI +#include "touchscreengui.h" +#endif class GUIModalMenu; @@ -93,13 +96,20 @@ class GUIModalMenu : public gui::IGUIElement WARNING: THIS DEALLOCATES THE MENU FROM MEMORY. Return immediately if you call this from the menu itself. + + (More precisely, this decrements the reference count.) */ void quitMenu() { allowFocusRemoval(true); // This removes Environment's grab on us Environment->removeFocus(this); + m_menumgr->deletingMenu(this); this->remove(); +#ifdef HAVE_TOUCHSCREENGUI + if (g_touchscreengui) + g_touchscreengui->Show(); +#endif } void removeChildren() @@ -121,7 +131,9 @@ class GUIModalMenu : public gui::IGUIElement virtual void regenerateGui(v2u32 screensize) = 0; virtual void drawMenu() = 0; + virtual bool preprocessEvent(const SEvent& event) { return false; }; virtual bool OnEvent(const SEvent& event) { return false; }; + virtual bool pausesGame(){ return false; } // Used for pause menu protected: //bool m_force_regenerate_gui;