This repository has been archived on 2025-03-20. You can view files and clone it, but cannot push or open issues or pull requests.
The-Powder-Toy/src/render/RenderController.cpp

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;
}