mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 01:05:48 +01:00 
			
		
		
		
	Fix the bgcolor formspec element (#8716)
This commit is contained in:
		@@ -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>]`
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -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);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user