GUIFormSpecMenu: Add basic element highlighing debug feature (#9423)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Sun, 12 Apr 2020 10:02:32 +0000 (12:02 +0200)
committerGitHub <noreply@github.com>
Sun, 12 Apr 2020 10:02:32 +0000 (12:02 +0200)
Activated using F5

src/gui/guiFormSpecMenu.cpp
src/gui/guiFormSpecMenu.h

index 6a383a7919263e8694a0d5ae9b28860e553c53af..f3bf04275a145ac68d58c80d01a9ae693c2db61d 100644 (file)
@@ -3380,8 +3380,12 @@ void GUIFormSpecMenu::drawMenu()
        bool hovered_element_found = false;
 
        if (hovered != NULL) {
-               s32 id = hovered->getID();
+               if (m_show_debug) {
+                       core::rect<s32> rect = hovered->getAbsoluteClippingRect();
+                       driver->draw2DRectangle(0x22FFFF00, rect, &rect);
+               }
 
+               s32 id = hovered->getID();
                u64 delta = 0;
                if (id == -1) {
                        m_old_tooltip_id = id;
@@ -3903,6 +3907,10 @@ bool GUIFormSpecMenu::OnEvent(const SEvent& event)
                                (kp == getKeySetting("keymap_screenshot"))) {
                        m_client->makeScreenshot();
                }
+
+               if (event.KeyInput.PressedDown && kp == getKeySetting("keymap_toggle_debug"))
+                       m_show_debug = !m_show_debug;
+
                if (event.KeyInput.PressedDown &&
                        (event.KeyInput.Key==KEY_RETURN ||
                         event.KeyInput.Key==KEY_UP ||
index b3bf67110ad2585c7b9a76df56dc35abbf3f2ce0..dc22e8b54f4e362abffe599529caa42936f58913 100644 (file)
@@ -343,6 +343,7 @@ private:
        u16                 m_formspec_version = 1;
        std::string         m_focused_element = "";
        JoystickController *m_joystick;
+       bool m_show_debug = false;
 
        typedef struct {
                bool explicit_size;