Make GraphicsAppManager work without a platform
This commit is contained in:
@@ -32,6 +32,24 @@ namespace openVulkanoCpp
|
||||
window->SetWindowHandler(this);
|
||||
}
|
||||
|
||||
GraphicsAppManager::GraphicsAppManager(IGraphicsApp* app, IWindow* window, RenderAPI::RenderApi renderApi)
|
||||
: app(app), renderApi(renderApi)
|
||||
{
|
||||
Utils::SetThreadName("Main");
|
||||
Logger::SetupLogger();
|
||||
if (!app)
|
||||
{
|
||||
constexpr auto msg = "The app must not be null!";
|
||||
Logger::MANAGER->error(msg);
|
||||
throw std::runtime_error(msg);
|
||||
}
|
||||
//platform = std::unique_ptr<IPlatform>(PlatformProducer::CreatePlatform(renderApi));
|
||||
this->window = window;
|
||||
renderer = std::unique_ptr<IRenderer>(PlatformProducer::CreateRenderManager(renderApi));
|
||||
app->SetGraphicsAppManager(this);
|
||||
window->SetWindowHandler(this);
|
||||
}
|
||||
|
||||
GraphicsAppManager::~GraphicsAppManager() noexcept
|
||||
{
|
||||
if (windowTitleFormat.empty()) return;
|
||||
@@ -73,7 +91,7 @@ namespace openVulkanoCpp
|
||||
{
|
||||
Logger::MANAGER->info("Initializing ...");
|
||||
app->Init();
|
||||
platform->Init();
|
||||
if (platform) platform->Init();
|
||||
window->Init(renderApi);
|
||||
//TODO restore window settings if there are any set
|
||||
renderer->Init(static_cast<IGraphicsAppManager*>(this), window);
|
||||
@@ -100,7 +118,7 @@ namespace openVulkanoCpp
|
||||
|
||||
void GraphicsAppManager::LoopTick()
|
||||
{
|
||||
platform->Tick();
|
||||
if (platform) platform->Tick();
|
||||
if (paused)
|
||||
{ // The rendering is paused
|
||||
// No need to burn cpu time if the app is paused
|
||||
|
||||
Reference in New Issue
Block a user