diff options
author | DS <vorunbekannt75@web.de> | 2019-09-15 18:14:31 +0200 |
---|---|---|
committer | rubenwardy <rw@rubenwardy.com> | 2019-09-15 17:14:31 +0100 |
commit | 1db3d252cff9e8d61fecf1052d7497813851da51 (patch) | |
tree | c06529aa533410a1ba5a9971cee028eaefc4e321 | |
parent | 1ea9bfc6f75316e8de852c3a529541b5c800b367 (diff) | |
download | minetest-1db3d252cff9e8d61fecf1052d7497813851da51.tar.gz minetest-1db3d252cff9e8d61fecf1052d7497813851da51.tar.bz2 minetest-1db3d252cff9e8d61fecf1052d7497813851da51.zip |
Fix the bgcolor formspec element (#8716)
-rw-r--r-- | doc/lua_api.txt | 10 | ||||
-rw-r--r-- | src/gui/guiFormSpecMenu.cpp | 15 |
2 files changed, 14 insertions, 11 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt index b809e18c3..5a991c278 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -2092,11 +2092,15 @@ Elements * Show an inventory image of registered item/node -### `bgcolor[<color>;<fullscreen>]` +### `bgcolor[<color>]` * Sets background color of formspec as `ColorString` -* If `true`, the background color is drawn fullscreen (does not affect the size - of the formspec). + +### `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. ### `background[<X>,<Y>;<W>,<H>;<texture name>]` diff --git a/src/gui/guiFormSpecMenu.cpp b/src/gui/guiFormSpecMenu.cpp index 53b8ae848..e8a7f546e 100644 --- a/src/gui/guiFormSpecMenu.cpp +++ b/src/gui/guiFormSpecMenu.cpp @@ -1881,17 +1881,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(parserData *data, 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))) { - parseColorString(parts[0], m_bgcolor, false); - - if (parts.size() == 2) { - std::string fullscreen = parts[1]; - m_bgfullscreen = is_yes(fullscreen); + 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]); } return; @@ -2921,8 +2921,7 @@ void GUIFormSpecMenu::drawMenu() if (m_bgfullscreen) driver->draw2DRectangle(m_fullscreen_bgcolor, allbg, &allbg); - else - driver->draw2DRectangle(m_bgcolor, AbsoluteRect, &AbsoluteClippingRect); + driver->draw2DRectangle(m_bgcolor, AbsoluteRect, &AbsoluteClippingRect); m_tooltip_element->setVisible(false); |