57 lines
981 B
C++
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;
|
|
}
|
|
}
|