Initial commit.

This commit is contained in:
jmsgrogan 2020-05-02 08:31:03 +01:00
commit 59c6161fdb
134 changed files with 4751 additions and 0 deletions

View file

@ -0,0 +1,112 @@
#include "DesktopManager.h"
#include <iostream>
DesktopManager::DesktopManager()
: mScreens(),
mWindowManager(),
mKeyboard(),
mMainApplication(),
mModified(false)
{
mWindowManager = WindowManager::Create();
mKeyboard = Keyboard::Create();
}
DesktopManager::~DesktopManager()
{
}
std::shared_ptr<DesktopManager> DesktopManager::Create()
{
return std::make_shared<DesktopManager>();
}
void DesktopManager::OnKeyboardEvent(KeyboardEventPtr keyboardEvent)
{
std::cout << "Key: " << keyboardEvent->GetKeyString() << std::endl;
}
void DesktopManager::OnPaintEvent(PaintEventPtr paintEvent)
{
GetWindowManager()->OnPaintEvent(paintEvent);
}
void DesktopManager::OnMouseEvent(MouseEventPtr mouseEvent)
{
GetWindowManager()->OnMouseEvent(mouseEvent);
}
bool DesktopManager::IsModified()
{
return mModified;
}
void DesktopManager::OnUiEvent(UiEventPtr event)
{
mModified = false;
switch (event->GetType())
{
case (UiEvent::Type::Paint):
{
OnPaintEvent(std::dynamic_pointer_cast<PaintEvent>(event));
break;
}
case (UiEvent::Type::Keyboard):
{
OnKeyboardEvent(std::dynamic_pointer_cast<KeyboardEvent>(event));
//mModified = true;
break;
}
case (UiEvent::Type::Mouse):
{
auto mouseEvent = std::dynamic_pointer_cast<MouseEvent>(event);
OnMouseEvent(mouseEvent);
if(mouseEvent->GetAction() == MouseEvent::Action::Pressed)
{
std::cout << "mouse pressed" << std::endl;
mModified = true;
}
break;
}
default:
break;
}
}
void DesktopManager::SetIsModified(bool modified)
{
mModified = modified;
}
KeyboardPtr DesktopManager::GetKeyboard()
{
return mKeyboard;
}
void DesktopManager::SetKeyboard(KeyboardPtr keyboard)
{
mKeyboard = keyboard;
}
void DesktopManager::SetMainApp(AbstractDesktopAppPtr mainApp)
{
mMainApplication = mainApp;
}
AbstractDesktopAppPtr DesktopManager::GetMainApp()
{
return mMainApplication;
}
void DesktopManager::SetWindowManager(WindowManagerPtr windowManager)
{
mWindowManager = windowManager;
}
WindowManagerPtr DesktopManager::GetWindowManager()
{
return mWindowManager;
}