39 lines
820 B
C++
39 lines
820 B
C++
#include "WindowModule.h"
|
|
|
|
WindowModule::~WindowModule() {
|
|
if(window)
|
|
delete window;
|
|
if(renderer)
|
|
delete renderer;
|
|
}
|
|
|
|
void WindowModule::onLoad() {
|
|
|
|
window = new Archimedes::Window();
|
|
//renderer = new Archimedes::Renderer();
|
|
|
|
//window->setRenderer(renderer);
|
|
|
|
renderer = window->getRenderer();
|
|
|
|
if(!renderer->init()) {
|
|
std::cout << "Renderer init failed!\n";
|
|
std::abort();
|
|
}
|
|
|
|
data["window"] = window->getWindowImpl().getWindow();
|
|
data["renderCmdList"] = &renderer->getCmdList();
|
|
|
|
std::cout << "WindowModule GLFWwindow*: " << std::any_cast<decltype(window->getWindowImpl().getWindow())>(data["window"]) << std::endl;
|
|
}
|
|
|
|
void WindowModule::run() {
|
|
|
|
if(window->shouldClose()) {
|
|
app->end();
|
|
}
|
|
|
|
window->doFrame();
|
|
}
|
|
|