No more shared pointers
This commit is contained in:
@@ -56,7 +56,6 @@ void GameView::commitUpdate()
|
||||
|
||||
void GameView::prepareRender()
|
||||
{
|
||||
renderGraph.updatePassData(depthPrepassData, lightCullingData, basePassData, skyboxData);
|
||||
}
|
||||
|
||||
void GameView::render()
|
||||
|
||||
@@ -28,7 +28,7 @@ public:
|
||||
|
||||
protected:
|
||||
Gfx::PGraphics graphics;
|
||||
Gfx::PViewport viewport;
|
||||
Gfx::OViewport viewport;
|
||||
PWindow owner;
|
||||
std::string name;
|
||||
|
||||
|
||||
@@ -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;
|
||||
}*/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -18,7 +18,7 @@ public:
|
||||
}
|
||||
|
||||
private:
|
||||
Array<PWindow> windows;
|
||||
Array<OWindow> windows;
|
||||
};
|
||||
DEFINE_REF(WindowManager)
|
||||
} // namespace Seele
|
||||
Reference in New Issue
Block a user