#include "WindowModule.h" WindowModule::~WindowModule() { if(app) { if(renderer) { renderer->getCmdList().clear(); delete renderer; } if(window) { delete window; } } } void WindowModule::onLoad() { window = new Archimedes::Window([this](Archimedes::Event* e){ app->emitEvent(e); }); renderer = new Archimedes::Renderer(); window->setRenderer(renderer); //renderer = window->getRenderer(); if(!renderer->init()) { std::cout << "Renderer init failed!\n"; std::abort(); } } void WindowModule::run() { if(window->shouldClose()) { app->end(); } for(auto e : window->getWindowImpl().data.eventList) { app->emitEvent(e); } window->getWindowImpl().data.eventList.clear(); window->doFrame(); }