20#ifndef DL_DISABLE_RENDER
92 _panelRoot =
new Panel;
93 _panelRoot->_node = _allPanel.AddRoot(_panelRoot);
108 p->_node = _allPanel.Add(p, parent);
130 p->_node = _allPanel.Add(p, parent);
133 p->_debugName = fmt::format(
"{}({},{}):",
134 String::CvtPathSeparator(loc._file),
135 loc._line, loc._column);
155 auto vec = panel->_node->GetChild();
156 for(
auto& iter : vec)
162 _allPanel.Del(panel->_node);
171 auto vec = panel->_node->GetChild();
172 for (
auto& iter : vec)
182 _allPanel.SetParent(panel->_node, parent->_node);
184 panel->_refresh_order();
310 for (
auto& node : _allPanel)
312 node->GetValue()->_refresh_lang();
387 std::unordered_map<std::string, Window*> _allWindow;
388 std::list<Window*> _listShowWindow;
394 std::unordered_map<std::string, Text*, string_hash, std::equal_to<>> _allText;
395 std::unordered_map<std::string, ButtonSprite*, string_hash, std::equal_to<>> _allBtnSprite;
396 std::unordered_map<std::string, Background*, string_hash, std::equal_to<>> _allBackground;
397 std::unordered_map<std::string, Locator::SL, string_hash, std::equal_to<>> _allLocator;
398 std::unordered_map<std::string, ListBox*, string_hash, std::equal_to<>> _allListBox;
408 bool operator<(
const RegKey& b)
const
410 return _type < b._type;
413 std::list<RegKey> _allReg;
415 void _reg_text(
json& j,
const std::string& name);
416 void _reg_msg_box(
json& j,
const std::string& name);
417 void _reg_button(
json& j,
const std::string& name);
418 void _reg_background(
json& j,
const std::string& name);
419 void _reg_locator(
json& j, std::string_view name);
420 void _reg_list_box(
json& j, std::string_view name);
426 for (
auto& iter : _allText)
428 for (
auto& iter : _allBtnSprite)
430 for (
auto& iter : _allBackground)
432 for (
auto& iter : _allListBox)
436 void _refresh_scale()
438 _panelRoot->_coor->
SetScale(_uiScale);
441 void _refresh_standard_size();
443 void _debug_render();
void SetParent(Coor *coor)
void SetScale(const Position &scale)
void ShowWindow(Window *win, WindowShowMode mode=WindowShowMode::SHOW)
ListBox * CreateListBox(std::string_view name)
创建一个ListBox
void _refresh_window_order()
UI::Text * CreateText(std::string_view name)
创建一个UI::Text
const NTree< Panel * > & GetPanelAll()
EditBox * GetFocusEditBox()
Background * CreateBackground(std::string_view name)
创建一个Background
void SetStandardSize(const Size &size)
设置ui标准大小,窗口缩放后,ui会自动缩放
void SetPanelParent(Panel *panel, Panel *parent)
设置panel的父panel
void DeletePanelChild(Panel *panel, bool recursion=true)
删除一个Panel的子节点
UI::ListBox * CreateListBoxDefault(bool add_text=false)
void _on_char(char32_t ch)
输入时调用
void _update_pre()
system调用
void SetHide(bool hide)
Components克隆
void RegisterAll(std::string_view path)
注册多个,传入目录。会调用RegisterEnd
void DeletePanel(Panel *panel, bool del_child=false)
删除一个Panel
void _on_key(int action, bool ctrl)
按键操作
UI::ProgressBar * CreateProgressBarDefault()
void _release_window_all()
void _on_window_show_change(Window *win, bool visible)
void SetScale(float s)
设置ui缩放
void AddWindow(std::string_view name, Window *win)
记录已创建的窗口
UI::Background * CreateBackgroundDefault()
void SetWindowOrder(float z_min, float z_max)
void ShowWindow(std::string_view name, WindowShowMode mode=WindowShowMode::SHOW)
Panel * lua_CreatePanel()
void RenderDebugElementData(Coor *coor, const Cpt::ElementData &elem_data)
Panel * CreatePanel(Panel *parent, DL_SOURCE_LOCATION)
创建一个Panel
Window * GetWindow(std::string_view name)
void _release_window(Window *win)
UI::ButtonSprite * CreateButtonSpriteDefault(ButtonStyle style=ButtonStyle::NORMAL)
gcText CreateTextOnly(std::string_view name)
创建一个Text,忽略UI::Text的额外的信息
void Register(std::string_view json_path)
注册一个东西
Panel * CreatePanel(DL_SOURCE_LOCATION)
ButtonSprite * CreateButtonSprite(std::string_view name)
创建一个ButtonSprite
void SetFocusEditBox(EditBox *edt, bool focus=true)
设置激活输入框
Locator::SL CreateLocator(std::string_view name)
创建一个Locator
UI::Menu * CreateMenuDefault()
void _resize_panel_root()
UI::Tree * CreateTreeDefault()
UI::EditBox * CreateEditBoxDefault(bool single_line=true)
UI::Text * CreateTextDefault()
#define DL_SOURCE_LOCATION
#define DL_SOURCE_LOCATION_CALL
#define DL_MAKE_SOURCE_LOCATION(loc)
constexpr float Z_DEFAULT_WIDNOW_MAX
constexpr float Z_DEFAULT_WIDNOW_MIN