Files
Archimedes/modules/WindowModule/src/WindowModule.cpp
2025-04-08 11:47:24 -05:00

44 lines
837 B
C++

#include "WindowModule.h"
WindowModule::~WindowModule() {
if(layers)
delete layers;
if(renderer)
delete renderer;
if(window)
delete window;
}
void WindowModule::onLoad() {
window = new Archimedes::Window();
renderer = new Archimedes::Renderer();
window->setRenderer(renderer);
//renderer = window->getRenderer();
layers = new Archimedes::Layerstack();
if(!renderer->init()) {
std::cout << "Renderer init failed!\n";
std::abort();
}
renderer->getCmdList().push_back([this](){ layers->renderAll(); });
data["window"] = window->getWindowImpl().getWindow();
data["renderCmdList"] = &renderer->getCmdList();
}
void WindowModule::run() {
if(window->shouldClose()) {
app->end();
}
window->doFrame();
}