dl
dl::UI::Manager类 参考

UI系统管理器 更多...

#include <dl_ui_manager.h>

Public 成员函数

 Manager ()
 
PanelCreatePanel (Panel *parent, DL_SOURCE_LOCATION)
 创建一个Panel
 
PanelCreatePanel (DL_SOURCE_LOCATION)
 
Panellua_CreatePanel ()
 
void DeletePanel (Panel *panel, bool del_child=false)
 删除一个Panel
 
void DeletePanelChild (Panel *panel, bool recursion=true)
 删除一个Panel的子节点
 
void SetPanelParent (Panel *panel, Panel *parent)
 设置panel的父panel
 
PanelGetPanelRoot ()
 
void AddWindow (std::string_view name, Window *win)
 记录已创建的窗口
 
WindowGetWindow (std::string_view name)
 
void ShowWindow (Window *win, WindowShowMode mode=WindowShowMode::SHOW)
 
void ShowWindow (std::string_view name, WindowShowMode mode=WindowShowMode::SHOW)
 
void SetWindowOrder (float z_min, float z_max)
 
void _on_window_show_change (Window *win, bool visible)
 
void _update_window ()
 
void _refresh_window_order ()
 
void _release_window_all ()
 
void _release_window (Window *win)
 
UI::TextCreateText (std::string_view name)
 创建一个UI::Text
 
gcText CreateTextOnly (std::string_view name)
 创建一个Text,忽略UI::Text的额外的信息
 
ButtonSpriteCreateButtonSprite (std::string_view name)
 创建一个ButtonSprite
 
BackgroundCreateBackground (std::string_view name)
 创建一个Background
 
Locator::SL CreateLocator (std::string_view name)
 创建一个Locator
 
ListBoxCreateListBox (std::string_view name)
 创建一个ListBox
 
UI::TextCreateTextDefault ()
 
UI::ButtonSpriteCreateButtonSpriteDefault (ButtonStyle style=ButtonStyle::NORMAL)
 
UI::BackgroundCreateBackgroundDefault ()
 
UI::ListBoxCreateListBoxDefault (bool add_text=false)
 
UI::EditBoxCreateEditBoxDefault (bool single_line=true)
 
UI::TreeCreateTreeDefault ()
 
UI::MenuCreateMenuDefault ()
 
UI::ProgressBarCreateProgressBarDefault ()
 
void Register (std::string_view json_path)
 注册一个东西
 
void RegisterEnd ()
 真正注册操作
 
void RegisterAll (std::string_view path)
 注册多个,传入目录。会调用RegisterEnd
 
void SetScale (float s)
 设置ui缩放
 
void SetStandardSize (const Size &size)
 设置ui标准大小,窗口缩放后,ui会自动缩放
 
Size GetStandardSize ()
 
float GetScale ()
 返回ui缩放
 
const NTree< Panel * > & GetPanelAll ()
 
void RefreshLang ()
 
void SetHide (bool hide)
 Components克隆
 
bool IsHide ()
 是否隐藏ui
 
EditBoxGetFocusEditBox ()
 
void SetFocusEditBox (EditBox *edt, bool focus=true)
 设置激活输入框
 
void RenderDebug ()
 绘制调试信息
 
void RenderDebugElementData (Coor *coor, const Cpt::ElementData &elem_data)
 
 ~Manager ()
 
void _update_pre ()
 system调用
 
void _update ()
 
void _render ()
 
void _resize ()
 窗口大小变化时调用
 
void _resize_panel_root ()
 
void _on_char (char32_t ch)
 输入时调用
 
void _on_key (int action, bool ctrl)
 按键操作
 

详细描述

UI系统管理器

在文件 dl_ui_manager.h76 行定义.

构造及析构函数说明

◆ Manager()

dl::UI::Manager::Manager ( )
inline

在文件 dl_ui_manager.h79 行定义.

◆ ~Manager()

dl::UI::Manager::~Manager ( )

成员函数说明

◆ _on_char()

void dl::UI::Manager::_on_char ( char32_t ch)

输入时调用

◆ _on_key()

void dl::UI::Manager::_on_key ( int action,
bool ctrl )

按键操作

◆ _on_window_show_change()

void dl::UI::Manager::_on_window_show_change ( Window * win,
bool visible )

◆ _refresh_window_order()

void dl::UI::Manager::_refresh_window_order ( )

◆ _release_window()

void dl::UI::Manager::_release_window ( Window * win)

◆ _release_window_all()

void dl::UI::Manager::_release_window_all ( )

◆ _render()

void dl::UI::Manager::_render ( )

◆ _resize()

void dl::UI::Manager::_resize ( )

窗口大小变化时调用

◆ _resize_panel_root()

void dl::UI::Manager::_resize_panel_root ( )

◆ _update()

void dl::UI::Manager::_update ( )

◆ _update_pre()

void dl::UI::Manager::_update_pre ( )

system调用

◆ _update_window()

void dl::UI::Manager::_update_window ( )

◆ AddWindow()

void dl::UI::Manager::AddWindow ( std::string_view name,
Window * win )

记录已创建的窗口

参数
[in]name唯一名字(重复会替换)
[in]win窗口对象(可通过new创建)
注解
添加后不再手动管理,但通过 delete删除窗口

◆ CreateBackground()

Background * dl::UI::Manager::CreateBackground ( std::string_view name)

创建一个Background

◆ CreateBackgroundDefault()

UI::Background * dl::UI::Manager::CreateBackgroundDefault ( )

◆ CreateButtonSprite()

ButtonSprite * dl::UI::Manager::CreateButtonSprite ( std::string_view name)

创建一个ButtonSprite

◆ CreateButtonSpriteDefault()

UI::ButtonSprite * dl::UI::Manager::CreateButtonSpriteDefault ( ButtonStyle style = ButtonStyle::NORMAL)

◆ CreateEditBoxDefault()

UI::EditBox * dl::UI::Manager::CreateEditBoxDefault ( bool single_line = true)

◆ CreateListBox()

ListBox * dl::UI::Manager::CreateListBox ( std::string_view name)

创建一个ListBox

◆ CreateListBoxDefault()

UI::ListBox * dl::UI::Manager::CreateListBoxDefault ( bool add_text = false)

◆ CreateLocator()

Locator::SL dl::UI::Manager::CreateLocator ( std::string_view name)

创建一个Locator

◆ CreateMenuDefault()

UI::Menu * dl::UI::Manager::CreateMenuDefault ( )

◆ CreatePanel() [1/2]

Panel * dl::UI::Manager::CreatePanel ( DL_SOURCE_LOCATION )
inline

在文件 dl_ui_manager.h138 行定义.

◆ CreatePanel() [2/2]

Panel * dl::UI::Manager::CreatePanel ( Panel * parent,
DL_SOURCE_LOCATION  )
inline

创建一个Panel

参数
[in]parent父Panel,nullptr表示自带全局Panel
注解
自己order会小于父order

在文件 dl_ui_manager.h122 行定义.

◆ CreateProgressBarDefault()

UI::ProgressBar * dl::UI::Manager::CreateProgressBarDefault ( )

◆ CreateText()

UI::Text * dl::UI::Manager::CreateText ( std::string_view name)

创建一个UI::Text

◆ CreateTextDefault()

UI::Text * dl::UI::Manager::CreateTextDefault ( )

◆ CreateTextOnly()

gcText dl::UI::Manager::CreateTextOnly ( std::string_view name)

创建一个Text,忽略UI::Text的额外的信息

◆ CreateTreeDefault()

UI::Tree * dl::UI::Manager::CreateTreeDefault ( )

◆ DeletePanel()

void dl::UI::Manager::DeletePanel ( Panel * panel,
bool del_child = false )
inline

删除一个Panel

参数
[in]del_child是否删除子节点

在文件 dl_ui_manager.h151 行定义.

◆ DeletePanelChild()

void dl::UI::Manager::DeletePanelChild ( Panel * panel,
bool recursion = true )
inline

删除一个Panel的子节点

参数
[in]recursion是否递归删除

在文件 dl_ui_manager.h169 行定义.

◆ GetFocusEditBox()

EditBox * dl::UI::Manager::GetFocusEditBox ( )
inline

在文件 dl_ui_manager.h342 行定义.

◆ GetPanelAll()

const NTree< Panel * > & dl::UI::Manager::GetPanelAll ( )
inline

在文件 dl_ui_manager.h303 行定义.

◆ GetPanelRoot()

Panel * dl::UI::Manager::GetPanelRoot ( )
inline

在文件 dl_ui_manager.h186 行定义.

◆ GetScale()

float dl::UI::Manager::GetScale ( )
inline

返回ui缩放

在文件 dl_ui_manager.h298 行定义.

◆ GetStandardSize()

Size dl::UI::Manager::GetStandardSize ( )

◆ GetWindow()

Window * dl::UI::Manager::GetWindow ( std::string_view name)

◆ IsHide()

bool dl::UI::Manager::IsHide ( )
inline

是否隐藏ui

在文件 dl_ui_manager.h337 行定义.

◆ lua_CreatePanel()

Panel * dl::UI::Manager::lua_CreatePanel ( )
inline

在文件 dl_ui_manager.h142 行定义.

◆ RefreshLang()

void dl::UI::Manager::RefreshLang ( )
inline

在文件 dl_ui_manager.h308 行定义.

◆ Register()

void dl::UI::Manager::Register ( std::string_view json_path)

注册一个东西

◆ RegisterAll()

void dl::UI::Manager::RegisterAll ( std::string_view path)

注册多个,传入目录。会调用RegisterEnd

◆ RegisterEnd()

void dl::UI::Manager::RegisterEnd ( )

真正注册操作

◆ RenderDebug()

void dl::UI::Manager::RenderDebug ( )

绘制调试信息

◆ RenderDebugElementData()

void dl::UI::Manager::RenderDebugElementData ( Coor * coor,
const Cpt::ElementData & elem_data )

◆ SetFocusEditBox()

void dl::UI::Manager::SetFocusEditBox ( EditBox * edt,
bool focus = true )

设置激活输入框

◆ SetHide()

void dl::UI::Manager::SetHide ( bool hide)
inline

Components克隆

注解
由于类型信息丢失,只能枚举克隆 设置是否隐藏ui

在文件 dl_ui_manager.h331 行定义.

◆ SetPanelParent()

void dl::UI::Manager::SetPanelParent ( Panel * panel,
Panel * parent )
inline

设置panel的父panel

在文件 dl_ui_manager.h180 行定义.

◆ SetScale()

void dl::UI::Manager::SetScale ( float s)
inline

设置ui缩放

在文件 dl_ui_manager.h284 行定义.

◆ SetStandardSize()

void dl::UI::Manager::SetStandardSize ( const Size & size)

设置ui标准大小,窗口缩放后,ui会自动缩放

注解
必须创建窗口之后调用

◆ SetWindowOrder()

void dl::UI::Manager::SetWindowOrder ( float z_min,
float z_max )
inline

在文件 dl_ui_manager.h217 行定义.

◆ ShowWindow() [1/2]

void dl::UI::Manager::ShowWindow ( std::string_view name,
WindowShowMode mode = WindowShowMode::SHOW )

◆ ShowWindow() [2/2]

void dl::UI::Manager::ShowWindow ( Window * win,
WindowShowMode mode = WindowShowMode::SHOW )

该类的文档由以下文件生成: