- void parseTextArea(parserData* data,std::vector<std::string>& parts,std::string type);
- void parseLabel(parserData* data,std::string element);
- void parseVertLabel(parserData* data,std::string element);
- void parseImageButton(parserData* data,std::string element,std::string type);
- void parseItemImageButton(parserData* data,std::string element);
- void parseTabHeader(parserData* data,std::string element);
- void parseBox(parserData* data,std::string element);
-
- bool parseColor(std::string color, irr::video::SColor& outcolor);
+ void parseTextArea(parserData* data,std::vector<std::string>& parts,
+ const std::string &type);
+ void parseLabel(parserData* data, const std::string &element);
+ void parseVertLabel(parserData* data, const std::string &element);
+ void parseImageButton(parserData* data, const std::string &element,
+ const std::string &type);
+ 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 parseScrollBar(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);
+
+ void tryClose();
+
+ void showTooltip(const std::wstring &text, const irr::video::SColor &color,
+ const irr::video::SColor &bgcolor);
+
+ /**
+ * check if event is part of a double click
+ * @param event event to evaluate
+ * @return true/false if a doubleclick was detected
+ */
+ bool DoubleClickDetection(const SEvent event);
+
+ struct clickpos
+ {
+ v2s32 pos;
+ s64 time;
+ };
+ clickpos m_doubleclickdetect[2];
+
+ int m_btn_height;
+ gui::IGUIFont *m_font;
+
+ std::wstring getLabelByID(s32 id);
+ std::string getNameByID(s32 id);
+#ifdef __ANDROID__
+ v2s32 m_down_pos;
+ std::string m_JavaDialogFieldName;
+#endif
+
+ /* If true, remap a double-click (or double-tap) action to ESC. This is so
+ * that, for example, Android users can double-tap to close a formspec.
+ *
+ * This value can (currently) only be set by the class constructor
+ * and the default value for the setting is true.
+ */
+ bool m_remap_dbl_click;
+