@@ -1497,7 +1497,7 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data,std::string element)
1497
1497
258 + m_fields.size ()
1498
1498
);
1499
1499
1500
- gui::IGUIButton *e = Environment->addButton (rect, this , spec.fid , spec. flabel . c_str () );
1500
+ gui::IGUIButton *e = Environment->addButton (rect, this , spec.fid , L" " );
1501
1501
1502
1502
if (spec.fname == data->focused_fieldname ) {
1503
1503
Environment->setFocus (e);
@@ -1515,6 +1515,12 @@ void GUIFormSpecMenu::parseItemImageButton(parserData* data,std::string element)
1515
1515
pos.X += stof (v_pos[0 ]) * (float ) spacing.X ;
1516
1516
pos.Y += stof (v_pos[1 ]) * (float ) spacing.Y ;
1517
1517
m_itemimages.push_back (ImageDrawSpec (" " , item_name, pos, geom));
1518
+
1519
+ StaticTextSpec label_spec (
1520
+ utf8_to_wide (label),
1521
+ rect
1522
+ );
1523
+ m_static_texts.push_back (label_spec);
1518
1524
return ;
1519
1525
}
1520
1526
errorstream<< " Invalid ItemImagebutton element(" << parts.size () << " ): '" << element << " '" << std::endl;
@@ -1883,6 +1889,7 @@ void GUIFormSpecMenu::regenerateGui(v2u32 screensize)
1883
1889
m_boxes.clear ();
1884
1890
m_tooltips.clear ();
1885
1891
m_inventory_rings.clear ();
1892
+ m_static_texts.clear ();
1886
1893
1887
1894
// Set default values (fits old formspec values)
1888
1895
m_bgcolor = video::SColor (140 ,0 ,0 ,0 );
@@ -2462,6 +2469,15 @@ void GUIFormSpecMenu::drawMenu()
2462
2469
m_pointer = m_device->getCursorControl ()->getPosition ();
2463
2470
#endif
2464
2471
2472
+ /*
2473
+ Draw static text elements
2474
+ */
2475
+ for (u32 i = 0 ; i < m_static_texts.size (); i++) {
2476
+ const StaticTextSpec &spec = m_static_texts[i];
2477
+ video::SColor color (255 , 255 , 255 , 255 );
2478
+ m_font->draw (spec.text .c_str (), spec.rect , color, true , true , &spec.rect );
2479
+ }
2480
+
2465
2481
/*
2466
2482
Draw fields/buttons tooltips
2467
2483
*/
0 commit comments