Files
Archimedes/include/utils/Window/Window.h
2025-04-20 14:58:39 -05:00

47 lines
912 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 getSize(int& w, int& h) {
window.getSize(w, h);
}
void doFrame() {
window.pollEvents();
renderer->render();
window.doFrame();
}
Renderer* getRenderer() { return renderer; }
void setRenderer(Renderer* r) { renderer = r; }
WindowImpl& getWindowImpl() { return window; }
private:
Renderer* renderer;
WindowImpl window;
};
}
#endif