work on layers
This commit is contained in:
@@ -1,26 +1,33 @@
|
||||
#include "WindowModule.h"
|
||||
|
||||
WindowModule::~WindowModule() {
|
||||
if(window)
|
||||
delete window;
|
||||
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();
|
||||
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();
|
||||
}
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "utils/Window/Window.h"
|
||||
#include "utils/Renderer/Renderer.h"
|
||||
#include "utils/Layers/Layerstack.h"
|
||||
|
||||
class WindowModule : public Archimedes::Module {
|
||||
|
||||
@@ -27,12 +28,16 @@ class WindowModule : public Archimedes::Module {
|
||||
void onLoad();
|
||||
|
||||
//interface for other modules
|
||||
std::string sayHello() { return "Call from TestImgui!"; }
|
||||
|
||||
Archimedes::Window* getWindow() { return window; }
|
||||
Archimedes::Renderer* getRenderer() { return renderer; }
|
||||
Archimedes::Layerstack* getLayerstack() { return layers; }
|
||||
|
||||
private:
|
||||
|
||||
Archimedes::Window* window;
|
||||
Archimedes::Renderer* renderer;
|
||||
Archimedes::Layerstack* layers;
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user