stuff-from-scratch/src/windows/managers/WindowManager.cpp
2022-11-14 11:19:51 +00:00

57 lines
981 B
C++

#include "WindowManager.h"
WindowManager::WindowManager()
: mWindows()
{
addWindow(mt::Window::Create());
}
WindowManager::~WindowManager()
{
}
std::unique_ptr<WindowManager> WindowManager::Create()
{
return std::make_unique<WindowManager>();
}
void WindowManager::onPaintEvent(const PaintEvent* event)
{
getMainWindow()->onPaint(event);
}
void WindowManager::onMouseEvent(const MouseEvent* event)
{
getMainWindow()->onMouseEvent(event);
}
void WindowManager::onKeyboardEvent(const KeyboardEvent* event)
{
getMainWindow()->onKeyboardEvent(event);
}
void WindowManager::addWindow(WindowUPtr window)
{
mWindows.push_back(std::move(window));
}
void WindowManager::clearPlatformWindows()
{
for (auto& window : mWindows)
{
window->clearPlatformWindow();
}
}
mt::Window* WindowManager::getMainWindow() const
{
if(mWindows.size()>0)
{
return mWindows[0].get();
}
else
{
return nullptr;
}
}