67 lines
1.3 KiB
C++
67 lines
1.3 KiB
C++
/*
|
|
* RenderController.cpp
|
|
*
|
|
* Created on: Jan 23, 2012
|
|
* Author: Simon
|
|
*/
|
|
|
|
#include "RenderController.h"
|
|
|
|
RenderController::RenderController(Renderer * ren, ControllerCallback * callback):
|
|
HasExited(false)
|
|
{
|
|
renderView = new RenderView();
|
|
renderModel = new RenderModel();
|
|
|
|
renderView->AttachController(this);
|
|
renderModel->AddObserver(renderView);
|
|
|
|
renderModel->SetRenderer(ren);
|
|
this->callback = callback;
|
|
}
|
|
|
|
void RenderController::SetRenderMode(unsigned int renderMode)
|
|
{
|
|
renderModel->SetRenderMode(renderMode);
|
|
}
|
|
|
|
void RenderController::UnsetRenderMode(unsigned int renderMode)
|
|
{
|
|
renderModel->UnsetRenderMode(renderMode);
|
|
}
|
|
|
|
void RenderController::SetDisplayMode(unsigned int renderMode)
|
|
{
|
|
renderModel->SetDisplayMode(renderMode);
|
|
}
|
|
|
|
void RenderController::UnsetDisplayMode(unsigned int renderMode)
|
|
{
|
|
renderModel->UnsetDisplayMode(renderMode);
|
|
}
|
|
|
|
void RenderController::SetColourMode(unsigned int renderMode)
|
|
{
|
|
renderModel->SetColourMode(renderMode);
|
|
}
|
|
|
|
void RenderController::Exit()
|
|
{
|
|
if(ui::Engine::Ref().GetWindow() == renderView)
|
|
{
|
|
ui::Engine::Ref().CloseWindow();
|
|
}
|
|
if(callback)
|
|
callback->ControllerExit();
|
|
HasExited = true;
|
|
}
|
|
|
|
RenderController::~RenderController() {
|
|
if(ui::Engine::Ref().GetWindow() == renderView)
|
|
{
|
|
ui::Engine::Ref().CloseWindow();
|
|
}
|
|
delete renderModel;
|
|
}
|
|
|