Files
Seele/src/Engine/Window/Window.h
T

38 lines
765 B
C++
Raw Normal View History

2020-04-15 02:03:56 +02:00
#pragma once
2021-01-19 15:30:00 +01:00
#include "Graphics/GraphicsResources.h"
2020-04-15 02:03:56 +02:00
#include "View.h"
namespace Seele
{
2022-04-15 23:45:44 +02:00
/*struct WindowView
2021-09-29 22:12:56 +02:00
{
PView view;
2021-10-23 00:22:35 +02:00
Event updateFinished;
2021-09-29 22:12:56 +02:00
std::mutex workerMutex;
2022-03-26 12:55:04 +01:00
WindowView(PView view)
: view(view)
, updateFinished(view->getName())
{}
2022-04-15 23:45:44 +02:00
};*/
//DEFINE_REF(WindowView)
2021-11-01 20:25:16 +01:00
DECLARE_REF(WindowManager)
2020-04-15 02:03:56 +02:00
// The logical window, with the graphics proxy
class Window
{
public:
2021-11-01 20:25:16 +01:00
Window(PWindowManager owner, Gfx::PWindow handle);
2020-04-15 02:03:56 +02:00
~Window();
void addView(PView view);
2022-04-15 23:45:44 +02:00
void render();
2020-04-15 02:03:56 +02:00
Gfx::PWindow getGfxHandle();
2020-10-29 02:22:01 +01:00
void setFocused(PView view);
2020-05-05 01:51:13 +02:00
2021-09-29 22:12:56 +02:00
protected:
2021-11-01 20:25:16 +01:00
PWindowManager owner;
2022-04-15 23:45:44 +02:00
Array<PView> views;
2020-04-15 02:03:56 +02:00
Gfx::PWindow gfxHandle;
2021-09-29 22:12:56 +02:00
2022-04-15 23:45:44 +02:00
//void viewWorker(size_t viewIndex);
2020-04-15 02:03:56 +02:00
};
2021-04-01 16:40:14 +02:00
DEFINE_REF(Window)
2020-05-05 01:51:13 +02:00
} // namespace Seele