Files
Archimedes/include/utils/Window/Window.h
2025-04-19 21:32:57 -05:00

45 lines
875 B
C++

#ifndef WINDOW_H
#define WINDOW_H
#include "WindowEvents.h"
#include "utils/Renderer/Renderer.h"
#include "WindowGLFW/WindowGLFW.h"
namespace Archimedes {
class Window {
public:
Window(const std::function<void(Event*)>& sendEventFn) : window(this, sendEventFn) {}
~Window() {}
bool shouldClose() { return window.shouldClose(); }
void doFrame() {
window.pollEvents();
window.getSize(renderer->w, renderer->h);
renderer->render();
window.doFrame();
}
Renderer* getRenderer() { return renderer; }
void setRenderer(Renderer* r) { renderer = r; }
WindowImpl& getWindowImpl() { return window; }
private:
Renderer* renderer;
WindowImpl window;
};
}
#endif