Files
dl_old/dl/ui/dl_ui_scene.cpp
2024-03-24 02:57:48 +08:00

50 lines
860 B
C++

#include "dl_ui_scene.h"
#ifndef DL_DISABLE_RENDER
#include "ui/dl_ui_manager.h"
namespace dl::UI
{
Scene::Scene()
{
_root = g_ui->CreatePanel();
_root->SetSizeFull();
_root->SetAutoRun(false);
_root->SetAutoRender(false);
_root->SetLocator(createLocatorZero());
}
Scene::~Scene()
{
g_ui->DeletePanel(_root, true);
}
dl::UI::Panel* Scene::CreatePanel(std::string_view name)
{
// UI::Panel* _root->GetChild(name);
// auto iter = _allPanel.find(std::string{ name });
// if (iter != _allPanel.end())
// {
// log_warn("Panel已存在:{}", name);
// return iter->second;
// }
UI::Panel* ret = g_ui->CreatePanel();
ret->SetName(name);
g_ui->SetPanelParent(ret, _root);
return ret;
}
void Scene::_update()
{
_root->Update();
Update();
}
void Scene::_render()
{
_root->Render();
Render();
}
}
#endif