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
|
|
|
|
|
|
|
|
namespace Seele
|
|
|
|
|
{
|
2023-01-29 18:58:59 +01:00
|
|
|
DECLARE_NAME_REF(Gfx, Graphics)
|
2020-04-12 15:47:19 +02:00
|
|
|
class WindowManager
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
WindowManager();
|
|
|
|
|
~WindowManager();
|
2023-12-02 10:55:00 +01:00
|
|
|
OWindow addWindow(Gfx::PGraphics graphics, const WindowCreateInfo &createInfo);
|
|
|
|
|
void render();
|
2021-11-01 20:25:16 +01:00
|
|
|
void notifyWindowClosed(PWindow window);
|
2023-12-02 10:55:00 +01:00
|
|
|
bool isActive() const
|
2020-02-25 00:44:40 +01:00
|
|
|
{
|
2020-04-12 15:47:19 +02:00
|
|
|
return windows.size();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private:
|
2023-12-02 10:55:00 +01:00
|
|
|
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
|