Luanti 5.10.0-dev
 
Loading...
Searching...
No Matches
GUIFormSpecMenu Class Reference

#include <guiFormSpecMenu.h>

+ Inheritance diagram for GUIFormSpecMenu:
+ Collaboration diagram for GUIFormSpecMenu:

Classes

struct  FieldSpec
 
struct  fs_key_pending
 
struct  ListRingSpec
 
struct  parserData
 
struct  TooltipSpec
 

Public Member Functions

 GUIFormSpecMenu (JoystickController *joystick, gui::IGUIElement *parent, s32 id, IMenuManager *menumgr, Client *client, gui::IGUIEnvironment *guienv, ISimpleTextureSource *tsrc, ISoundManager *sound_manager, IFormSource *fs_src, TextDest *txt_dst, const std::string &formspecPrepend, bool remap_dbl_click=true)
 
 ~GUIFormSpecMenu ()
 
void setFormSpec (const std::string &formspec_string, const InventoryLocation &current_inventory_location)
 
const InventoryLocationgetFormspecLocation ()
 
void setFormspecPrepend (const std::string &formspecPrepend)
 
void setFormSource (IFormSource *form_src)
 
void setTextDest (TextDest *text_dst)
 
void allowClose (bool value)
 
void setDebugView (bool value)
 
void lockSize (bool lock, v2u32 basescreensize=v2u32(0, 0))
 
void removeTooltip ()
 
void setInitialFocus ()
 
void setFocus (const std::string &elementname)
 
ClientgetClient () const
 
const GUIInventoryList::ItemSpecgetSelectedItem () const
 
u16 getSelectedAmount () const
 
bool doTooltipAppendItemname () const
 
void addHoveredItemTooltip (const std::string &name)
 
void regenerateGui (v2u32 screensize)
 
GUIInventoryList::ItemSpec getItemAtPos (v2s32 p) const
 
void drawSelectedItem ()
 
void drawMenu ()
 
void updateSelectedItem ()
 
ItemStack verifySelectedItem ()
 
s16 getNextInventoryRing (const InventoryLocation &inventoryloc, const std::string &listname)
 
void acceptInput (FormspecQuitMode quitmode=quit_mode_no)
 
bool preprocessEvent (const SEvent &event)
 
bool OnEvent (const SEvent &event)
 
bool pausesGame ()
 
GUITablegetTable (const std::string &tablename)
 
std::vector< std::string > * getDropDownValues (const std::string &name)
 
core::rect< s32 > getAbsoluteRect ()
 
- Public Member Functions inherited from GUIModalMenu
 GUIModalMenu (gui::IGUIEnvironment *env, gui::IGUIElement *parent, s32 id, IMenuManager *menumgr, bool remap_dbl_click=true)
 
virtual ~GUIModalMenu ()
 
void allowFocusRemoval (bool allow)
 
bool canTakeFocus (gui::IGUIElement *e)
 
void draw ()
 
void quitMenu ()
 

Static Public Member Functions

static void create (GUIFormSpecMenu *&cur_formspec, Client *client, gui::IGUIEnvironment *guienv, JoystickController *joystick, IFormSource *fs_src, TextDest *txt_dest, const std::string &formspecPrepend, ISoundManager *sound_manager)
 
static double getFixedImgsize (double screen_dpi, double gui_scaling)
 
static double getImgsize (v2u32 avail_screensize, double screen_dpi, double gui_scaling)
 

Public Attributes

bool doPause
 

Protected Member Functions

v2s32 getBasePos () const
 
std::wstring getLabelByID (s32 id)
 get label of element by id
 
std::string getNameByID (s32 id)
 get name of element by element id
 
const FieldSpecgetSpecByID (s32 id)
 
v2s32 getElementBasePos (const std::vector< std::string > *v_pos)
 
v2s32 getRealCoordinateBasePos (const std::vector< std::string > &v_pos)
 
v2s32 getRealCoordinateGeometry (const std::vector< std::string > &v_geom)
 
bool precheckElement (const std::string &name, const std::string &element, size_t args_min, size_t args_max, std::vector< std::string > &parts)
 
StyleSpec getDefaultStyleForElement (const std::string &type, const std::string &name="", const std::string &parent_type="")
 
std::array< StyleSpec, StyleSpec::NUM_STATESgetStyleForElement (const std::string &type, const std::string &name="", const std::string &parent_type="")
 
- Protected Member Functions inherited from GUIModalMenu
ScalingInfo getScalingInfo (v2u32 screensize, v2u32 base_size)
 

Protected Attributes

std::unordered_map< std::string, std::vector< StyleSpec > > theme_by_type
 
std::unordered_map< std::string, std::vector< StyleSpec > > theme_by_name
 
std::unordered_set< std::string > property_warned
 
v2s32 padding
 
v2f32 spacing
 
v2s32 imgsize
 
v2s32 offset
 
v2f32 pos_offset
 
std::stack< v2f32container_stack
 
InventoryManagerm_invmgr
 
ISimpleTextureSourcem_tsrc
 
ISoundManagerm_sound_manager
 
Clientm_client
 
std::string m_formspec_string
 
std::string m_formspec_prepend
 
InventoryLocation m_current_inventory_location
 
bool m_is_form_regenerated = true
 
std::vector< GUIInventoryList * > m_inventorylists
 
std::vector< ListRingSpecm_inventory_rings
 
std::unordered_map< std::string, bool > field_enter_after_edit
 
std::unordered_map< std::string, bool > field_close_on_enter
 
std::unordered_map< std::string, bool > m_dropdown_index_event
 
std::vector< FieldSpecm_fields
 
std::vector< std::pair< FieldSpec, GUITable * > > m_tables
 
std::vector< std::pair< FieldSpec, gui::IGUICheckBox * > > m_checkboxes
 
std::map< std::string, TooltipSpecm_tooltips
 
std::vector< std::pair< gui::IGUIElement *, TooltipSpec > > m_tooltip_rects
 
std::vector< std::pair< FieldSpec, GUIScrollBar * > > m_scrollbars
 
std::vector< std::pair< FieldSpec, std::vector< std::string > > > m_dropdowns
 
std::vector< gui::IGUIElement * > m_clickthrough_elements
 
std::vector< std::pair< std::string, GUIScrollContainer * > > m_scroll_containers
 
GUIInventoryList::ItemSpecm_selected_item = nullptr
 
u16 m_selected_amount = 0
 
bool m_selected_dragging = false
 
ItemStack m_selected_swap
 
ButtonEventType m_held_mouse_button = BET_OTHER
 
bool m_shift_move_after_craft = false
 
u16 m_left_drag_amount = 0
 
ItemStack m_left_drag_stack
 
std::vector< std::pair< GUIInventoryList::ItemSpec, ItemStack > > m_left_drag_stacks
 
bool m_left_dragging = false
 
gui::IGUIStaticText * m_tooltip_element = nullptr
 
u64 m_tooltip_show_delay
 
bool m_tooltip_append_itemname
 
u64 m_hovered_time = 0
 
s32 m_old_tooltip_id = -1
 
bool m_allowclose = true
 
bool m_lock = false
 
v2u32 m_lockscreensize
 
bool m_bgnonfullscreen
 
bool m_bgfullscreen
 
video::SColor m_bgcolor
 
video::SColor m_fullscreen_bgcolor
 
video::SColor m_default_tooltip_bgcolor
 
video::SColor m_default_tooltip_color
 
- Protected Attributes inherited from GUIModalMenu
v2s32 m_pointer
 
v2s32 m_old_pointer
 
v2u32 m_screensize_old
 
float m_gui_scale
 
bool m_second_touch = false
 

Private Member Functions

void removeAll ()
 
void parseElement (parserData *data, const std::string &element)
 
void parseSize (parserData *data, const std::string &element)
 
void parseContainer (parserData *data, const std::string &element)
 
void parseContainerEnd (parserData *data, const std::string &element)
 
void parseScrollContainer (parserData *data, const std::string &element)
 
void parseScrollContainerEnd (parserData *data, const std::string &element)
 
void parseList (parserData *data, const std::string &element)
 
void parseListRing (parserData *data, const std::string &element)
 
void parseCheckbox (parserData *data, const std::string &element)
 
void parseImage (parserData *data, const std::string &element)
 
void parseAnimatedImage (parserData *data, const std::string &element)
 
void parseItemImage (parserData *data, const std::string &element)
 
void parseButton (parserData *data, const std::string &element)
 
void parseBackground (parserData *data, const std::string &element)
 
void parseTableOptions (parserData *data, const std::string &element)
 
void parseTableColumns (parserData *data, const std::string &element)
 
void parseTable (parserData *data, const std::string &element)
 
void parseTextList (parserData *data, const std::string &element)
 
void parseDropDown (parserData *data, const std::string &element)
 
void parseFieldEnterAfterEdit (parserData *data, const std::string &element)
 
void parseFieldCloseOnEnter (parserData *data, const std::string &element)
 
void parsePwdField (parserData *data, const std::string &element)
 
void parseField (parserData *data, const std::string &element)
 
void createTextField (parserData *data, FieldSpec &spec, core::rect< s32 > &rect, bool is_multiline)
 
void parseSimpleField (parserData *data, std::vector< std::string > &parts)
 
void parseTextArea (parserData *data, std::vector< std::string > &parts, const std::string &type)
 
void parseHyperText (parserData *data, const std::string &element)
 
void parseLabel (parserData *data, const std::string &element)
 
void parseVertLabel (parserData *data, const std::string &element)
 
void parseImageButton (parserData *data, const std::string &element)
 
void parseItemImageButton (parserData *data, const std::string &element)
 
void parseTabHeader (parserData *data, const std::string &element)
 
void parseBox (parserData *data, const std::string &element)
 
void parseBackgroundColor (parserData *data, const std::string &element)
 
void parseListColors (parserData *data, const std::string &element)
 
void parseTooltip (parserData *data, const std::string &element)
 
bool parseVersionDirect (const std::string &data)
 
bool parseSizeDirect (parserData *data, const std::string &element)
 
void parseRealCoordinates (parserData *data, const std::string &element)
 
void parseScrollBar (parserData *data, const std::string &element)
 
void parseScrollBarOptions (parserData *data, const std::string &element)
 
bool parsePositionDirect (parserData *data, const std::string &element)
 
void parsePosition (parserData *data, const std::string &element)
 
bool parseAnchorDirect (parserData *data, const std::string &element)
 
void parseAnchor (parserData *data, const std::string &element)
 
bool parsePaddingDirect (parserData *data, const std::string &element)
 
void parsePadding (parserData *data, const std::string &element)
 
void parseStyle (parserData *data, const std::string &element)
 
void parseSetFocus (parserData *, const std::string &element)
 
void parseModel (parserData *data, const std::string &element)
 
bool parseMiddleRect (const std::string &value, core::rect< s32 > *parsed_rect)
 
void tryClose ()
 
void showTooltip (const std::wstring &text, const irr::video::SColor &color, const irr::video::SColor &bgcolor)
 
void legacySortElements (std::list< IGUIElement * >::iterator from)
 In formspec version < 2 the elements were not ordered properly.
 
double calculateImgsize (const parserData &data)
 

Private Attributes

IFormSourcem_form_src
 
TextDestm_text_dst
 
std::string m_last_formname
 
u16 m_formspec_version = 1
 
std::optional< std::string > m_focused_element = std::nullopt
 
JoystickControllerm_joystick
 
bool m_show_debug = false
 
fs_key_pending current_keys_pending
 
std::string current_field_enter_pending = ""
 
std::vector< std::string > m_hovered_item_tooltips
 
int m_btn_height
 
gui::IGUIFont * m_font = nullptr
 
s32 m_tabheader_upper_edge = 0
 

Static Private Attributes

static const std::unordered_map< std::string, std::function< void(GUIFormSpecMenu *, GUIFormSpecMenu::parserData *data, const std::string &description)> > element_parsers
 

Constructor & Destructor Documentation

◆ GUIFormSpecMenu()

GUIFormSpecMenu::GUIFormSpecMenu ( JoystickController * joystick,
gui::IGUIElement * parent,
s32 id,
IMenuManager * menumgr,
Client * client,
gui::IGUIEnvironment * guienv,
ISimpleTextureSource * tsrc,
ISoundManager * sound_manager,
IFormSource * fs_src,
TextDest * txt_dst,
const std::string & formspecPrepend,
bool remap_dbl_click = true )

References current_keys_pending, g_settings, Settings::getBool(), Settings::getS32(), GUIFormSpecMenu::fs_key_pending::key_down, GUIFormSpecMenu::fs_key_pending::key_enter, GUIFormSpecMenu::fs_key_pending::key_escape, GUIFormSpecMenu::fs_key_pending::key_up, m_tooltip_append_itemname, and m_tooltip_show_delay.

Referenced by create().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ~GUIFormSpecMenu()

GUIFormSpecMenu::~GUIFormSpecMenu ( )

References m_form_src, m_selected_item, m_text_dst, and removeAll().

+ Here is the call graph for this function:

Member Function Documentation

◆ acceptInput()

void GUIFormSpecMenu::acceptInput ( FormspecQuitMode quitmode = quit_mode_no)

References current_field_enter_pending, current_keys_pending, f_AnimatedImage, f_Button, f_CheckBox, f_DropDown, f_ScrollBar, f_TabHeader, f_Table, getDropDownValues(), GUIAnimatedImage::getFrameIndex(), GUIScrollBar::getPos(), getTable(), TextDest::gotText(), itos(), GUIFormSpecMenu::fs_key_pending::key_down, GUIFormSpecMenu::fs_key_pending::key_enter, GUIFormSpecMenu::fs_key_pending::key_escape, GUIFormSpecMenu::fs_key_pending::key_up, m_dropdown_index_event, m_fields, m_text_dst, quit_mode_accept, quit_mode_cancel, table, warningstream, and wide_to_utf8().

Referenced by OnEvent(), preprocessEvent(), and tryClose().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addHoveredItemTooltip()

void GUIFormSpecMenu::addHoveredItemTooltip ( const std::string & name)
inline

References m_hovered_item_tooltips.

Referenced by GUIInventoryList::draw().

+ Here is the caller graph for this function:

◆ allowClose()

void GUIFormSpecMenu::allowClose ( bool value)
inline

References m_allowclose.

◆ calculateImgsize()

double GUIFormSpecMenu::calculateImgsize ( const parserData & data)
private

References g_settings, RenderingEngine::getDisplayDensity(), getFixedImgsize(), Settings::getFloat(), getImgsize(), GUIFormSpecMenu::parserData::invsize, m_lock, GUIFormSpecMenu::parserData::padding, GUIFormSpecMenu::parserData::real_coordinates, and GUIFormSpecMenu::parserData::screensize.

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

void GUIFormSpecMenu::create ( GUIFormSpecMenu *& cur_formspec,
Client * client,
gui::IGUIEnvironment * guienv,
JoystickController * joystick,
IFormSource * fs_src,
TextDest * txt_dest,
const std::string & formspecPrepend,
ISoundManager * sound_manager )
static

References GUIFormSpecMenu(), doPause, g_menumgr, guienv, guiroot, setFormSource(), setFormspecPrepend(), and setTextDest().

Referenced by Game::handleClientEvent_ShowFormSpec(), Game::handleClientEvent_ShowLocalFormSpec(), Game::nodePlacement(), Game::openInventory(), Game::showDeathFormspecLegacy(), and Game::showPauseMenu().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createTextField()

void GUIFormSpecMenu::createTextField ( parserData * data,
FieldSpec & spec,
core::rect< s32 > & rect,
bool is_multiline )
private

References irr::gui::StaticText::add(), StyleSpec::BORDER, GUIFormSpecMenu::parserData::current_parent, GUIFormSpecMenu::FieldSpec::fdefault, GUIFormSpecMenu::FieldSpec::fid, GUIFormSpecMenu::FieldSpec::flabel, GUIFormSpecMenu::FieldSpec::fname, g_fontengine, getDefaultStyleForElement(), FontEngine::getTextHeight(), m_focused_element, m_tsrc, StyleSpec::NOCLIP, GUIFormSpecMenu::FieldSpec::send, and StyleSpec::TEXTCOLOR.

Referenced by parseSimpleField(), and parseTextArea().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ doTooltipAppendItemname()

bool GUIFormSpecMenu::doTooltipAppendItemname ( ) const
inline

References m_tooltip_append_itemname.

Referenced by GUIInventoryList::draw().

+ Here is the caller graph for this function:

◆ drawMenu()

◆ drawSelectedItem()

void GUIFormSpecMenu::drawSelectedItem ( )

References ItemStack::count, drawItemStack(), InventoryManager::getInventory(), InventoryList::getItem(), Inventory::getList(), GUIInventoryList::ItemSpec::i, GUIInventoryList::ItemSpec::inventoryloc, IT_ROT_DRAGGED, GUIInventoryList::ItemSpec::listname, m_client, m_font, m_invmgr, GUIModalMenu::m_pointer, m_selected_amount, m_selected_item, sanity_check, and GUIInventoryList::ItemSpec::slotsize.

Referenced by drawMenu().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getAbsoluteRect()

core::rect< s32 > GUIFormSpecMenu::getAbsoluteRect ( )

◆ getBasePos()

v2s32 GUIFormSpecMenu::getBasePos ( ) const
inlineprotected

References offset, and padding.

Referenced by regenerateGui().

+ Here is the caller graph for this function:

◆ getClient()

Client * GUIFormSpecMenu::getClient ( ) const
inline

References m_client.

Referenced by GUIInventoryList::draw().

+ Here is the caller graph for this function:

◆ getDefaultStyleForElement()

StyleSpec GUIFormSpecMenu::getDefaultStyleForElement ( const std::string & type,
const std::string & name = "",
const std::string & parent_type = "" )
protected

References getStyleForElement(), and StyleSpec::STATE_DEFAULT.

Referenced by createTextField(), parseAnimatedImage(), parseBox(), parseCheckbox(), parseDropDown(), parseHyperText(), parseImage(), parseItemImage(), parseLabel(), parseList(), parsePwdField(), parseScrollBar(), parseTabHeader(), parseTable(), parseTextList(), and parseVertLabel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getDropDownValues()

std::vector< std::string > * GUIFormSpecMenu::getDropDownValues ( const std::string & name)

References m_dropdowns.

Referenced by acceptInput().

+ Here is the caller graph for this function:

◆ getElementBasePos()

v2s32 GUIFormSpecMenu::getElementBasePos ( const std::vector< std::string > * v_pos)
protected

◆ getFixedImgsize()

double GUIFormSpecMenu::getFixedImgsize ( double screen_dpi,
double gui_scaling )
static

Referenced by calculateImgsize(), and getImgsize().

+ Here is the caller graph for this function:

◆ getFormspecLocation()

const InventoryLocation & GUIFormSpecMenu::getFormspecLocation ( )
inline

◆ getImgsize()

double GUIFormSpecMenu::getImgsize ( v2u32 avail_screensize,
double screen_dpi,
double gui_scaling )
static

References getFixedImgsize().

Referenced by calculateImgsize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getItemAtPos()

GUIInventoryList::ItemSpec GUIFormSpecMenu::getItemAtPos ( v2s32 p) const

References m_inventorylists, and p().

Referenced by OnEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getLabelByID()

std::wstring GUIFormSpecMenu::getLabelByID ( s32 id)
protectedvirtual

get label of element by id

Parameters
idof element
Returns
label string or empty string

Implements GUIModalMenu.

References m_fields.

◆ getNameByID()

std::string GUIFormSpecMenu::getNameByID ( s32 id)
protectedvirtual

get name of element by element id

Parameters
idof element
Returns
name string or empty string

Implements GUIModalMenu.

References m_fields.

◆ getNextInventoryRing()

s16 GUIFormSpecMenu::getNextInventoryRing ( const InventoryLocation & inventoryloc,
const std::string & listname )

References GUIFormSpecMenu::ListRingSpec::inventoryloc, GUIFormSpecMenu::ListRingSpec::listname, and m_inventory_rings.

Referenced by OnEvent(), and updateSelectedItem().

+ Here is the caller graph for this function:

◆ getRealCoordinateBasePos()

v2s32 GUIFormSpecMenu::getRealCoordinateBasePos ( const std::vector< std::string > & v_pos)
protected

◆ getRealCoordinateGeometry()

v2s32 GUIFormSpecMenu::getRealCoordinateGeometry ( const std::vector< std::string > & v_geom)
protected

References imgsize, and stof.

Referenced by parseAnimatedImage(), parseBackground(), parseBox(), parseButton(), parseDropDown(), parseHyperText(), parseImage(), parseImageButton(), parseItemImage(), parseItemImageButton(), parseModel(), parsePwdField(), parseScrollBar(), parseScrollContainer(), parseTabHeader(), parseTable(), parseTextArea(), parseTextList(), and parseTooltip().

+ Here is the caller graph for this function:

◆ getSelectedAmount()

u16 GUIFormSpecMenu::getSelectedAmount ( ) const
inline

References m_selected_amount.

Referenced by GUIInventoryList::draw().

+ Here is the caller graph for this function:

◆ getSelectedItem()

const GUIInventoryList::ItemSpec * GUIFormSpecMenu::getSelectedItem ( ) const
inline

References m_selected_item.

Referenced by GUIInventoryList::draw().

+ Here is the caller graph for this function:

◆ getSpecByID()

const GUIFormSpecMenu::FieldSpec * GUIFormSpecMenu::getSpecByID ( s32 id)
protected

References m_fields.

◆ getStyleForElement()

std::array< StyleSpec, StyleSpec::NUM_STATES > GUIFormSpecMenu::getStyleForElement ( const std::string & type,
const std::string & name = "",
const std::string & parent_type = "" )
protected

References theme_by_name, and theme_by_type.

Referenced by getDefaultStyleForElement(), parseButton(), parseImageButton(), parseItemImageButton(), and parseModel().

+ Here is the caller graph for this function:

◆ getTable()

GUITable * GUIFormSpecMenu::getTable ( const std::string & tablename)

References m_tables, and table.

Referenced by acceptInput().

+ Here is the caller graph for this function:

◆ legacySortElements()

void GUIFormSpecMenu::legacySortElements ( std::list< IGUIElement * >::iterator from)
private

In formspec version < 2 the elements were not ordered properly.

Some element types were drawn before others. This function sorts the elements in the old order for backwards compatibility.

Referenced by regenerateGui().

+ Here is the caller graph for this function:

◆ lockSize()

void GUIFormSpecMenu::lockSize ( bool lock,
v2u32 basescreensize = v2u32(0,0) )
inline

References m_lock, and m_lockscreensize.

Referenced by parseSize().

+ Here is the caller graph for this function:

◆ OnEvent()

bool GUIFormSpecMenu::OnEvent ( const SEvent & event)
virtual

Reimplemented from GUIModalMenu.

References acceptInput(), InventoryList::addItem(), ItemStack::addItem(), BET_DOWN, BET_LEFT, BET_MIDDLE, BET_MOVE, BET_OTHER, BET_RIGHT, BET_UP, BET_WHEEL_DOWN, BET_WHEEL_UP, GUIModalMenu::canTakeFocus(), InventoryList::changeItem(), Client::checkPrivilege(), ItemStack::clear(), ICraftAction::count, IDropAction::count, IMoveAction::count, ItemStack::count, ICraftAction::craft_inv, current_field_enter_pending, current_keys_pending, InventoryLocation::dump(), ItemStack::empty(), errorstream, EscapeKey, f_Button, f_CheckBox, f_DropDown, f_HyperText, f_ScrollBar, f_TabHeader, f_Table, f_Unknown, FATAL_ERROR, field_close_on_enter, MoveAction::from_i, MoveAction::from_inv, MoveAction::from_list, g_gamecallback, InventoryManager::getInventory(), InventoryList::getItem(), getItemAtPos(), getKeySetting(), Inventory::getList(), getNextInventoryRing(), InventoryList::getSize(), ItemStack::getStackMax(), TextDest::gotText(), GUIInventoryList::ItemSpec::i, IGameDef::idef(), infostream, Client::inhibit_inventory_revert, InventoryManager::inventoryAction(), GUIFormSpecMenu::ListRingSpec::inventoryloc, GUIInventoryList::ItemSpec::inventoryloc, GUIInventoryList::ItemSpec::isValid(), GUIFormSpecMenu::fs_key_pending::key_down, GUIFormSpecMenu::fs_key_pending::key_enter, GUIFormSpecMenu::fs_key_pending::key_up, GUIFormSpecMenu::ListRingSpec::listname, GUIInventoryList::ItemSpec::listname, m_allowclose, m_client, m_fields, m_held_mouse_button, m_inventory_rings, m_invmgr, m_left_drag_amount, m_left_drag_stack, m_left_drag_stacks, m_left_dragging, GUIModalMenu::m_old_pointer, m_old_tooltip_id, GUIModalMenu::m_pointer, m_scroll_containers, GUIModalMenu::m_second_touch, m_selected_amount, m_selected_dragging, m_selected_item, m_selected_swap, m_shift_move_after_craft, m_show_debug, m_sound_manager, m_text_dst, Client::makeScreenshot(), IMoveAction::move_somewhere, MYMIN, ItemStack::name, porting::open_url(), ISoundManager::playSound(), quit_mode_accept, quit_mode_no, GUIModalMenu::quitMenu(), sanity_check, MainGameCallback::showOpenURLDialog(), ItemStack::stacksWith(), MoveAction::to_i, MoveAction::to_inv, MoveAction::to_list, tryClose(), updateSelectedItem(), and verbosestream.

Referenced by preprocessEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseAnchor()

void GUIFormSpecMenu::parseAnchor ( parserData * data,
const std::string & element )
private

References GUIFormSpecMenu::parserData::anchor, errorstream, FORMSPEC_API_VERSION, m_formspec_version, MY_CHECKGEOM, split(), and stof.

Referenced by parseAnchorDirect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseAnchorDirect()

bool GUIFormSpecMenu::parseAnchorDirect ( parserData * data,
const std::string & element )
private

References parseAnchor(), split(), and trim().

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseAnimatedImage()

◆ parseBackground()

void GUIFormSpecMenu::parseBackground ( parserData * data,
const std::string & element )
private

◆ parseBackgroundColor()

void GUIFormSpecMenu::parseBackgroundColor ( parserData * data,
const std::string & element )
private

References errorstream, is_yes(), m_bgcolor, m_bgfullscreen, m_bgnonfullscreen, m_formspec_version, m_fullscreen_bgcolor, parseColorString(), and precheckElement().

+ Here is the call graph for this function:

◆ parseBox()

◆ parseButton()

◆ parseCheckbox()

◆ parseContainer()

void GUIFormSpecMenu::parseContainer ( parserData * data,
const std::string & element )
private

References container_stack, errorstream, pos_offset, split(), and stof.

+ Here is the call graph for this function:

◆ parseContainerEnd()

void GUIFormSpecMenu::parseContainerEnd ( parserData * data,
const std::string & element )
private

◆ parseDropDown()

◆ parseElement()

void GUIFormSpecMenu::parseElement ( parserData * data,
const std::string & element )
private

References element_parsers, infostream, parseVersionDirect(), trim(), and GUIFormSpecMenu::parserData::type.

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseField()

void GUIFormSpecMenu::parseField ( parserData * data,
const std::string & element )
private

References parseSimpleField(), parseTextArea(), precheckElement(), and GUIFormSpecMenu::parserData::type.

+ Here is the call graph for this function:

◆ parseFieldCloseOnEnter()

void GUIFormSpecMenu::parseFieldCloseOnEnter ( parserData * data,
const std::string & element )
private

References field_close_on_enter, is_yes(), and precheckElement().

+ Here is the call graph for this function:

◆ parseFieldEnterAfterEdit()

void GUIFormSpecMenu::parseFieldEnterAfterEdit ( parserData * data,
const std::string & element )
private

References field_enter_after_edit, is_yes(), and precheckElement().

+ Here is the call graph for this function:

◆ parseHyperText()

◆ parseImage()

◆ parseImageButton()

◆ parseItemImage()

◆ parseItemImageButton()

◆ parseLabel()

◆ parseList()

◆ parseListColors()

void GUIFormSpecMenu::parseListColors ( parserData * data,
const std::string & element )
private

◆ parseListRing()

void GUIFormSpecMenu::parseListRing ( parserData * data,
const std::string & element )
private

References InventoryLocation::deSerialize(), errorstream, GUIInventoryList::getInventoryloc(), GUIInventoryList::getListname(), m_current_inventory_location, m_inventory_rings, m_inventorylists, MY_CHECKCLIENT, and split().

+ Here is the call graph for this function:

◆ parseMiddleRect()

bool GUIFormSpecMenu::parseMiddleRect ( const std::string & value,
core::rect< s32 > * parsed_rect )
private

References split(), stoi, and warningstream.

Referenced by parseAnimatedImage(), parseBackground(), and parseImage().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseModel()

◆ parsePadding()

void GUIFormSpecMenu::parsePadding ( parserData * data,
const std::string & element )
private

References errorstream, FORMSPEC_API_VERSION, m_formspec_version, MY_CHECKGEOM, GUIFormSpecMenu::parserData::padding, split(), and stof.

Referenced by parsePaddingDirect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parsePaddingDirect()

bool GUIFormSpecMenu::parsePaddingDirect ( parserData * data,
const std::string & element )
private

References parsePadding(), split(), and trim().

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parsePosition()

void GUIFormSpecMenu::parsePosition ( parserData * data,
const std::string & element )
private

References errorstream, FORMSPEC_API_VERSION, m_formspec_version, MY_CHECKGEOM, GUIFormSpecMenu::parserData::offset, split(), and stof.

Referenced by parsePositionDirect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parsePositionDirect()

bool GUIFormSpecMenu::parsePositionDirect ( parserData * data,
const std::string & element )
private

References parsePosition(), split(), and trim().

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parsePwdField()

◆ parseRealCoordinates()

void GUIFormSpecMenu::parseRealCoordinates ( parserData * data,
const std::string & element )
private

References is_yes(), and GUIFormSpecMenu::parserData::real_coordinates.

+ Here is the call graph for this function:

◆ parseScrollBar()

◆ parseScrollBarOptions()

void GUIFormSpecMenu::parseScrollBarOptions ( parserData * data,
const std::string & element )
private

◆ parseScrollContainer()

void GUIFormSpecMenu::parseScrollContainer ( parserData * data,
const std::string & element )
private

◆ parseScrollContainerEnd()

void GUIFormSpecMenu::parseScrollContainerEnd ( parserData * data,
const std::string & element )
private

◆ parseSetFocus()

void GUIFormSpecMenu::parseSetFocus ( parserData * ,
const std::string & element )
private

References is_yes(), TextDest::m_formname, m_is_form_regenerated, m_last_formname, m_text_dst, precheckElement(), and setFocus().

+ Here is the call graph for this function:

◆ parseSimpleField()

void GUIFormSpecMenu::parseSimpleField ( parserData * data,
std::vector< std::string > & parts )
private

References createTextField(), GUIFormSpecMenu::parserData::explicit_size, getElementBasePos(), m_btn_height, m_fields, m_form_src, IFormSource::resolveText(), GUIFormSpecMenu::parserData::simple_field_count, translate_string(), unescape_string(), utf8_to_wide(), and warningstream.

Referenced by parseField().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseSize()

void GUIFormSpecMenu::parseSize ( parserData * data,
const std::string & element )
private

References errorstream, GUIFormSpecMenu::parserData::explicit_size, FORMSPEC_API_VERSION, g_settings, Settings::getBool(), GUIFormSpecMenu::parserData::invsize, lockSize(), m_formspec_version, MYMAX, split(), and stof.

Referenced by parseSizeDirect().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseSizeDirect()

bool GUIFormSpecMenu::parseSizeDirect ( parserData * data,
const std::string & element )
private

References parseSize(), split(), trim(), and warningstream.

Referenced by regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseStyle()

◆ parseTabHeader()

◆ parseTable()

◆ parseTableColumns()

void GUIFormSpecMenu::parseTableColumns ( parserData * data,
const std::string & element )
private

References GUITable::TableColumn::options, split(), GUITable::splitOption(), GUIFormSpecMenu::parserData::table_columns, GUITable::TableColumn::type, and unescape_string().

+ Here is the call graph for this function:

◆ parseTableOptions()

void GUIFormSpecMenu::parseTableOptions ( parserData * data,
const std::string & element )
private

References split(), GUITable::splitOption(), GUIFormSpecMenu::parserData::table_options, and unescape_string().

+ Here is the call graph for this function:

◆ parseTextArea()

void GUIFormSpecMenu::parseTextArea ( parserData * data,
std::vector< std::string > & parts,
const std::string & type )
private

References createTextField(), GUIFormSpecMenu::parserData::explicit_size, getElementBasePos(), getRealCoordinateBasePos(), getRealCoordinateGeometry(), imgsize, m_btn_height, m_fields, m_form_src, MY_CHECKGEOM, MY_CHECKPOS, padding, GUIFormSpecMenu::parserData::real_coordinates, IFormSource::resolveText(), spacing, split(), stof, translate_string(), unescape_string(), utf8_to_wide(), and warningstream.

Referenced by parseField().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseTextList()

◆ parseTooltip()

void GUIFormSpecMenu::parseTooltip ( parserData * data,
const std::string & element )
private

◆ parseVersionDirect()

bool GUIFormSpecMenu::parseVersionDirect ( const std::string & data)
private

References is_number(), m_formspec_version, mystoi(), split(), and trim().

Referenced by parseElement(), and regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ parseVertLabel()

◆ pausesGame()

bool GUIFormSpecMenu::pausesGame ( )
inlinevirtual

Reimplemented from GUIModalMenu.

References doPause.

◆ precheckElement()

bool GUIFormSpecMenu::precheckElement ( const std::string & name,
const std::string & element,
size_t args_min,
size_t args_max,
std::vector< std::string > & parts )
protected

References errorstream, FORMSPEC_API_VERSION, m_formspec_version, and split().

Referenced by parseAnimatedImage(), parseBackground(), parseBackgroundColor(), parseBox(), parseButton(), parseCheckbox(), parseDropDown(), parseField(), parseFieldCloseOnEnter(), parseFieldEnterAfterEdit(), parseHyperText(), parseImage(), parseImageButton(), parseItemImage(), parseItemImageButton(), parseLabel(), parseList(), parseListColors(), parseModel(), parsePwdField(), parseScrollBar(), parseScrollContainer(), parseSetFocus(), parseTabHeader(), parseTable(), parseTextList(), parseTooltip(), and parseVertLabel().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ preprocessEvent()

bool GUIFormSpecMenu::preprocessEvent ( const SEvent & event)
virtual

◆ regenerateGui()

void GUIFormSpecMenu::regenerateGui ( v2u32 screensize)
virtual

Implements GUIModalMenu.

References irr::gui::StaticText::add(), GUIButton::addButton(), GUIFormSpecMenu::parserData::anchor, GUIFormSpecMenu::parserData::background_parent, GUIFormSpecMenu::parserData::basepos, calculateImgsize(), clamp_u8(), container_stack, GUIFormSpecMenu::parserData::current_parent, errorstream, GUIFormSpecMenu::parserData::explicit_size, field_close_on_enter, field_enter_after_edit, font_line_height(), g_fontengine, g_settings, RenderingEngine::get_video_driver(), getBasePos(), FontEngine::getFont(), Settings::getS32(), Settings::getV3F(), imgsize, GUIFormSpecMenu::parserData::invsize, is_yes(), legacySortElements(), m_bgcolor, m_bgfullscreen, m_bgnonfullscreen, m_btn_height, m_checkboxes, m_clickthrough_elements, m_default_tooltip_bgcolor, m_default_tooltip_color, m_dropdown_index_event, m_dropdowns, m_fields, m_focused_element, m_font, TextDest::m_formname, m_formspec_prepend, m_formspec_string, m_formspec_version, m_fullscreen_bgcolor, m_inventory_rings, m_inventorylists, m_is_form_regenerated, m_last_formname, m_lock, m_lockscreensize, m_scroll_containers, m_scrollbars, m_tabheader_upper_edge, m_tables, m_text_dst, m_tooltip_element, m_tooltip_rects, m_tooltips, m_tsrc, myround(), offset, GUIFormSpecMenu::parserData::offset, padding, GUIFormSpecMenu::parserData::padding, parseAnchorDirect(), parseElement(), parsePaddingDirect(), parsePositionDirect(), parseSizeDirect(), parseVersionDirect(), pos_offset, GUIFormSpecMenu::parserData::real_coordinates, GUIFormSpecMenu::parserData::rect, removeAll(), sanity_check, GUIFormSpecMenu::parserData::screensize, setInitialFocus(), GUIFormSpecMenu::parserData::simple_field_count, GUIFormSpecMenu::parserData::size, spacing, split(), table, GUIFormSpecMenu::parserData::table_dyndata, theme_by_name, theme_by_type, trim(), and wstrgettext().

Referenced by drawMenu(), and setFormSpec().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeAll()

void GUIFormSpecMenu::removeAll ( )
private

References m_checkboxes, m_clickthrough_elements, m_inventorylists, m_scroll_containers, m_scrollbars, m_tables, m_tooltip_rects, and removeTooltip().

Referenced by ~GUIFormSpecMenu(), and regenerateGui().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeTooltip()

void GUIFormSpecMenu::removeTooltip ( )

References m_tooltip_element.

Referenced by removeAll().

+ Here is the caller graph for this function:

◆ setDebugView()

void GUIFormSpecMenu::setDebugView ( bool value)
inline

References m_show_debug.

Referenced by Game::updateDebugState().

+ Here is the caller graph for this function:

◆ setFocus()

void GUIFormSpecMenu::setFocus ( const std::string & elementname)
inline

References m_focused_element.

Referenced by parseSetFocus().

+ Here is the caller graph for this function:

◆ setFormSource()

void GUIFormSpecMenu::setFormSource ( IFormSource * form_src)
inline

References m_form_src.

Referenced by create().

+ Here is the caller graph for this function:

◆ setFormSpec()

void GUIFormSpecMenu::setFormSpec ( const std::string & formspec_string,
const InventoryLocation & current_inventory_location )
inline

References m_current_inventory_location, m_formspec_string, m_is_form_regenerated, GUIModalMenu::m_screensize_old, and regenerateGui().

+ Here is the call graph for this function:

◆ setFormspecPrepend()

void GUIFormSpecMenu::setFormspecPrepend ( const std::string & formspecPrepend)
inline

References m_formspec_prepend.

Referenced by create().

+ Here is the caller graph for this function:

◆ setInitialFocus()

void GUIFormSpecMenu::setInitialFocus ( )

Referenced by regenerateGui().

+ Here is the caller graph for this function:

◆ setTextDest()

void GUIFormSpecMenu::setTextDest ( TextDest * text_dst)
inline

References m_text_dst.

Referenced by create().

+ Here is the caller graph for this function:

◆ showTooltip()

void GUIFormSpecMenu::showTooltip ( const std::wstring & text,
const irr::video::SColor & color,
const irr::video::SColor & bgcolor )
private

References RenderingEngine::getLastPointerType(), EnrichedString::hasBackground(), m_btn_height, GUIModalMenu::m_pointer, m_tooltip_element, EnrichedString::setBackground(), EnrichedString::setDefaultColor(), setStaticText(), and Touch.

Referenced by drawMenu().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tryClose()

void GUIFormSpecMenu::tryClose ( )
private

References acceptInput(), doPause, TextDest::gotText(), m_allowclose, m_text_dst, quit_mode_cancel, and GUIModalMenu::quitMenu().

Referenced by OnEvent(), and preprocessEvent().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSelectedItem()

◆ verifySelectedItem()

ItemStack GUIFormSpecMenu::verifySelectedItem ( )

References ItemStack::clear(), ItemStack::count, ItemStack::empty(), InventoryManager::getInventory(), InventoryList::getItem(), Inventory::getList(), InventoryList::getSize(), GUIInventoryList::ItemSpec::i, GUIInventoryList::ItemSpec::inventoryloc, GUIInventoryList::ItemSpec::isValid(), GUIInventoryList::ItemSpec::listname, m_invmgr, m_selected_amount, m_selected_dragging, m_selected_item, m_selected_swap, and ItemStack::name.

Referenced by updateSelectedItem().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ container_stack

std::stack<v2f32> GUIFormSpecMenu::container_stack
protected

◆ current_field_enter_pending

std::string GUIFormSpecMenu::current_field_enter_pending = ""
private

Referenced by acceptInput(), and OnEvent().

◆ current_keys_pending

fs_key_pending GUIFormSpecMenu::current_keys_pending
private

◆ doPause

bool GUIFormSpecMenu::doPause

Referenced by create(), pausesGame(), and tryClose().

◆ element_parsers

const std::unordered_map< std::string, std::function< void(GUIFormSpecMenu *, GUIFormSpecMenu::parserData *data, const std::string &description)> > GUIFormSpecMenu::element_parsers
staticprivate

Referenced by parseElement().

◆ field_close_on_enter

std::unordered_map<std::string, bool> GUIFormSpecMenu::field_close_on_enter
protected

◆ field_enter_after_edit

std::unordered_map<std::string, bool> GUIFormSpecMenu::field_enter_after_edit
protected

◆ imgsize

◆ m_allowclose

bool GUIFormSpecMenu::m_allowclose = true
protected

◆ m_bgcolor

video::SColor GUIFormSpecMenu::m_bgcolor
protected

◆ m_bgfullscreen

bool GUIFormSpecMenu::m_bgfullscreen
protected

◆ m_bgnonfullscreen

bool GUIFormSpecMenu::m_bgnonfullscreen
protected

◆ m_btn_height

◆ m_checkboxes

std::vector<std::pair<FieldSpec, gui::IGUICheckBox *> > GUIFormSpecMenu::m_checkboxes
protected

◆ m_clickthrough_elements

std::vector<gui::IGUIElement *> GUIFormSpecMenu::m_clickthrough_elements
protected

◆ m_client

◆ m_current_inventory_location

InventoryLocation GUIFormSpecMenu::m_current_inventory_location
protected

◆ m_default_tooltip_bgcolor

video::SColor GUIFormSpecMenu::m_default_tooltip_bgcolor
protected

◆ m_default_tooltip_color

video::SColor GUIFormSpecMenu::m_default_tooltip_color
protected

◆ m_dropdown_index_event

std::unordered_map<std::string, bool> GUIFormSpecMenu::m_dropdown_index_event
protected

◆ m_dropdowns

std::vector<std::pair<FieldSpec, std::vector<std::string> > > GUIFormSpecMenu::m_dropdowns
protected

◆ m_fields

◆ m_focused_element

std::optional<std::string> GUIFormSpecMenu::m_focused_element = std::nullopt
private

◆ m_font

gui::IGUIFont* GUIFormSpecMenu::m_font = nullptr
private

◆ m_form_src

IFormSource* GUIFormSpecMenu::m_form_src
private

◆ m_formspec_prepend

std::string GUIFormSpecMenu::m_formspec_prepend
protected

◆ m_formspec_string

std::string GUIFormSpecMenu::m_formspec_string
protected

◆ m_formspec_version

◆ m_fullscreen_bgcolor

video::SColor GUIFormSpecMenu::m_fullscreen_bgcolor
protected

◆ m_held_mouse_button

ButtonEventType GUIFormSpecMenu::m_held_mouse_button = BET_OTHER
protected

Referenced by OnEvent(), and preprocessEvent().

◆ m_hovered_item_tooltips

std::vector<std::string> GUIFormSpecMenu::m_hovered_item_tooltips
private

Referenced by addHoveredItemTooltip(), and drawMenu().

◆ m_hovered_time

u64 GUIFormSpecMenu::m_hovered_time = 0
protected

Referenced by drawMenu().

◆ m_inventory_rings

std::vector<ListRingSpec> GUIFormSpecMenu::m_inventory_rings
protected

◆ m_inventorylists

std::vector<GUIInventoryList *> GUIFormSpecMenu::m_inventorylists
protected

◆ m_invmgr

InventoryManager* GUIFormSpecMenu::m_invmgr
protected

◆ m_is_form_regenerated

bool GUIFormSpecMenu::m_is_form_regenerated = true
protected

◆ m_joystick

JoystickController* GUIFormSpecMenu::m_joystick
private

Referenced by preprocessEvent().

◆ m_last_formname

std::string GUIFormSpecMenu::m_last_formname
private

Referenced by parseSetFocus(), and regenerateGui().

◆ m_left_drag_amount

u16 GUIFormSpecMenu::m_left_drag_amount = 0
protected

Referenced by OnEvent().

◆ m_left_drag_stack

ItemStack GUIFormSpecMenu::m_left_drag_stack
protected

Referenced by OnEvent().

◆ m_left_drag_stacks

std::vector<std::pair<GUIInventoryList::ItemSpec, ItemStack> > GUIFormSpecMenu::m_left_drag_stacks
protected

Referenced by OnEvent().

◆ m_left_dragging

bool GUIFormSpecMenu::m_left_dragging = false
protected

Referenced by OnEvent(), and updateSelectedItem().

◆ m_lock

bool GUIFormSpecMenu::m_lock = false
protected

◆ m_lockscreensize

v2u32 GUIFormSpecMenu::m_lockscreensize
protected

Referenced by lockSize(), and regenerateGui().

◆ m_old_tooltip_id

s32 GUIFormSpecMenu::m_old_tooltip_id = -1
protected

Referenced by drawMenu(), and OnEvent().

◆ m_scroll_containers

std::vector<std::pair<std::string, GUIScrollContainer *> > GUIFormSpecMenu::m_scroll_containers
protected

◆ m_scrollbars

std::vector<std::pair<FieldSpec, GUIScrollBar *> > GUIFormSpecMenu::m_scrollbars
protected

◆ m_selected_amount

u16 GUIFormSpecMenu::m_selected_amount = 0
protected

◆ m_selected_dragging

bool GUIFormSpecMenu::m_selected_dragging = false
protected

◆ m_selected_item

GUIInventoryList::ItemSpec* GUIFormSpecMenu::m_selected_item = nullptr
protected

◆ m_selected_swap

ItemStack GUIFormSpecMenu::m_selected_swap
protected

Referenced by OnEvent(), and verifySelectedItem().

◆ m_shift_move_after_craft

bool GUIFormSpecMenu::m_shift_move_after_craft = false
protected

Referenced by OnEvent(), and updateSelectedItem().

◆ m_show_debug

bool GUIFormSpecMenu::m_show_debug = false
private

Referenced by drawMenu(), OnEvent(), and setDebugView().

◆ m_sound_manager

ISoundManager* GUIFormSpecMenu::m_sound_manager
protected

Referenced by OnEvent().

◆ m_tabheader_upper_edge

s32 GUIFormSpecMenu::m_tabheader_upper_edge = 0
private

◆ m_tables

std::vector<std::pair<FieldSpec, GUITable *> > GUIFormSpecMenu::m_tables
protected

◆ m_text_dst

TextDest* GUIFormSpecMenu::m_text_dst
private

◆ m_tooltip_append_itemname

bool GUIFormSpecMenu::m_tooltip_append_itemname
protected

◆ m_tooltip_element

gui::IGUIStaticText* GUIFormSpecMenu::m_tooltip_element = nullptr
protected

◆ m_tooltip_rects

std::vector<std::pair<gui::IGUIElement *, TooltipSpec> > GUIFormSpecMenu::m_tooltip_rects
protected

◆ m_tooltip_show_delay

u64 GUIFormSpecMenu::m_tooltip_show_delay
protected

Referenced by GUIFormSpecMenu(), and drawMenu().

◆ m_tooltips

std::map<std::string, TooltipSpec> GUIFormSpecMenu::m_tooltips
protected

◆ m_tsrc

◆ offset

v2s32 GUIFormSpecMenu::offset
protected

◆ padding

◆ pos_offset

◆ property_warned

std::unordered_set<std::string> GUIFormSpecMenu::property_warned
protected

Referenced by parseStyle().

◆ spacing

◆ theme_by_name

std::unordered_map<std::string, std::vector<StyleSpec> > GUIFormSpecMenu::theme_by_name
protected

◆ theme_by_type

std::unordered_map<std::string, std::vector<StyleSpec> > GUIFormSpecMenu::theme_by_type
protected

The documentation for this class was generated from the following files: