No more shared pointers

This commit is contained in:
Dynamitos
2023-11-01 23:12:30 +01:00
parent 5a9cb13e74
commit 4746c0f838
69 changed files with 524 additions and 681 deletions
-1
View File
@@ -56,7 +56,6 @@ void GameView::commitUpdate()
void GameView::prepareRender()
{
renderGraph.updatePassData(depthPrepassData, lightCullingData, basePassData, skyboxData);
}
void GameView::render()
+1 -1
View File
@@ -28,7 +28,7 @@ public:
protected:
Gfx::PGraphics graphics;
Gfx::PViewport viewport;
Gfx::OViewport viewport;
PWindow owner;
std::string name;
-23
View File
@@ -16,10 +16,7 @@ Window::~Window()
void Window::addView(PView view)
{
//WindowView* windowView = new WindowView(view);
//windowView->worker = std::thread(&Window::viewWorker, this, windowView);
views.add(view);
//viewWorker(views.size() - 1);
}
void Window::render()
@@ -37,7 +34,6 @@ void Window::render()
}
gfxHandle->endFrame();
}
//co_return;
}
Gfx::PWindow Window::getGfxHandle()
@@ -61,22 +57,3 @@ void Window::setFocused(PView view)
owner->notifyWindowClosed(this);
});
}
/*void Window::viewWorker(size_t viewIndex)
{
WindowView* windowView = views[viewIndex];
co_await windowView->view->beginUpdate();
co_await windowView->view->update();
{
std::scoped_lock lock(windowView->workerMutex);
windowView->view->commitUpdate();
}
//std::cout << "Update completed" << std::endl;
//windowView->updateFinished.raise();
// enqueue next frame update
if(owner->isActive())
{
viewWorker(viewIndex);
}
//co_return;
}*/
-11
View File
@@ -4,17 +4,6 @@
namespace Seele
{
/*struct WindowView
{
PView view;
Event updateFinished;
std::mutex workerMutex;
WindowView(PView view)
: view(view)
, updateFinished(view->getName())
{}
};*/
//DEFINE_REF(WindowView)
DECLARE_REF(WindowManager)
// The logical window, with the graphics proxy
class Window
+6 -5
View File
@@ -13,15 +13,16 @@ WindowManager::~WindowManager()
PWindow WindowManager::addWindow(Gfx::PGraphics graphics, const WindowCreateInfo &createInfo)
{
Gfx::PWindow handle = graphics->createWindow(createInfo);
PWindow window = new Window(this, handle);
windows.add(window);
return window;
Gfx::OWindow handle = graphics->createWindow(createInfo);
OWindow window = new Window(this, handle);
PWindow ref = window;
windows.add(std::move(window));
return ref;
}
void WindowManager::notifyWindowClosed(PWindow window)
{
windows.remove(windows.find(window));
windows.remove(windows.find([window] (OWindow w) { return window == w; }));
if(windows.empty())
{
exit(0);
+1 -1
View File
@@ -18,7 +18,7 @@ public:
}
private:
Array<PWindow> windows;
Array<OWindow> windows;
};
DEFINE_REF(WindowManager)
} // namespace Seele