Revert "Fix the bgcolor formspec element (#8716)" (#9018)
authorSmallJoker <SmallJoker@users.noreply.github.com>
Sun, 6 Oct 2019 12:50:45 +0000 (14:50 +0200)
committerGitHub <noreply@github.com>
Sun, 6 Oct 2019 12:50:45 +0000 (14:50 +0200)
This reverts commit 1db3d252cff9e8d61fecf1052d7497813851da51.
Temporary solution until a compatible solution is found to define both - formspec and fullscreen backgrounds.

doc/lua_api.txt
src/gui/guiFormSpecMenu.cpp

index bbd11c86741719634b2911648cf9a7a408f9b79a..907f47e739808f2b5207e8814bbae6f8fbbe863f 100644 (file)
@@ -2092,15 +2092,11 @@ Elements
 
 * Show an inventory image of registered item/node
 
-### `bgcolor[<color>]`
-
-* Sets background color of formspec as `ColorString`
-
 ### `bgcolor[<color>;<fullscreen>]`
 
-* If `color` is a valid `ColorString`, the fullscreen background color
-  is set to `color`.
-* If `fullscreen` is a true value, the fullscreen background color is drawn.
+* Sets background color of formspec as `ColorString`
+* If `true`, a fullscreen background is drawn and the color is ignored
+  (does not affect the size of the formspec)
 
 ### `background[<X>,<Y>;<W>,<H>;<texture name>]`
 
index 9dacf37d7de2dea2378022a44bda01c9f9785a54..aee7da8696c8e780d4a435ad05e18f3070ab80f8 100644 (file)
@@ -1885,17 +1885,17 @@ void GUIFormSpecMenu::parseBox(parserData* data, const std::string &element)
        errorstream<< "Invalid Box element(" << parts.size() << "): '" << element << "'"  << std::endl;
 }
 
-void GUIFormSpecMenu::parseBackgroundColor(parserData *data, const std::string &element)
+void GUIFormSpecMenu::parseBackgroundColor(parserDatadata, const std::string &element)
 {
        std::vector<std::string> parts = split(element,';');
 
        if (((parts.size() == 1) || (parts.size() == 2)) ||
                        ((parts.size() > 2) && (m_formspec_version > FORMSPEC_API_VERSION))) {
-               if (parts.size() == 1) {
-                       parseColorString(parts[0], m_bgcolor, false);
-               } else if (parts.size() == 2) {
-                       parseColorString(parts[0], m_fullscreen_bgcolor, false);
-                       m_bgfullscreen = is_yes(parts[1]);
+               parseColorString(parts[0], m_bgcolor, false);
+
+               if (parts.size() == 2) {
+                       std::string fullscreen = parts[1];
+                       m_bgfullscreen = is_yes(fullscreen);
                }
 
                return;
@@ -2925,7 +2925,8 @@ void GUIFormSpecMenu::drawMenu()
 
        if (m_bgfullscreen)
                driver->draw2DRectangle(m_fullscreen_bgcolor, allbg, &allbg);
-       driver->draw2DRectangle(m_bgcolor, AbsoluteRect, &AbsoluteClippingRect);
+       else
+               driver->draw2DRectangle(m_bgcolor, AbsoluteRect, &AbsoluteClippingRect);
 
        m_tooltip_element->setVisible(false);