2020-02-25 00:44:40 +01:00
|
|
|
#pragma once
|
|
|
|
|
#include "Containers/Array.h"
|
2020-05-05 01:51:13 +02:00
|
|
|
#include "Window.h"
|
2020-02-25 00:44:40 +01:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
namespace Seele {
|
2023-01-29 18:58:59 +01:00
|
|
|
DECLARE_NAME_REF(Gfx, Graphics)
|
2024-06-09 12:20:04 +02:00
|
|
|
class WindowManager {
|
|
|
|
|
public:
|
|
|
|
|
WindowManager();
|
|
|
|
|
~WindowManager();
|
|
|
|
|
OWindow addWindow(Gfx::PGraphics graphics, const WindowCreateInfo& createInfo);
|
|
|
|
|
void render();
|
|
|
|
|
void notifyWindowClosed(PWindow window);
|
|
|
|
|
bool isActive() const { return windows.size(); }
|
2020-04-12 15:47:19 +02:00
|
|
|
|
2024-06-09 12:20:04 +02:00
|
|
|
private:
|
|
|
|
|
Array<PWindow> windows;
|
2020-04-12 15:47:19 +02:00
|
|
|
};
|
2021-04-01 16:40:14 +02:00
|
|
|
DEFINE_REF(WindowManager)
|
2020-04-12 15:47:19 +02:00
|
|
|
} // namespace Seele
|