summaryrefslogtreecommitdiff
path: root/src/render/RenderController.cpp
diff options
context:
space:
mode:
authorSimon Robertshaw <simon@hardwired.org.uk>2012-01-26 01:13:33 (GMT)
committer Simon Robertshaw <simon@hardwired.org.uk>2012-01-26 01:13:33 (GMT)
commit9e1be78bc21d1fb76a19ce12ef36193aea6e2b93 (patch)
tree081b67d551bb44fecbf6deb99b6c44ea9789614c /src/render/RenderController.cpp
parentb2d3257ae944a3ea3b57dc8ee4171b1b2f85483e (diff)
downloadpowder-9e1be78bc21d1fb76a19ce12ef36193aea6e2b93.zip
powder-9e1be78bc21d1fb76a19ce12ef36193aea6e2b93.tar.gz
I've got to a point where I can no longer be bothered to think of a proper commit comment
Diffstat (limited to 'src/render/RenderController.cpp')
-rw-r--r--src/render/RenderController.cpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/render/RenderController.cpp b/src/render/RenderController.cpp
index 6f7f72e..01a5d4e 100644
--- a/src/render/RenderController.cpp
+++ b/src/render/RenderController.cpp
@@ -7,7 +7,9 @@
#include "RenderController.h"
-RenderController::RenderController(Renderer * ren) {
+RenderController::RenderController(Renderer * ren, ControllerCallback * callback):
+ HasExited(false)
+{
renderView = new RenderView();
renderModel = new RenderModel();
@@ -15,6 +17,18 @@ RenderController::RenderController(Renderer * ren) {
renderModel->AddObserver(renderView);
renderModel->SetRenderer(ren);
+ this->callback = callback;
+}
+
+void RenderController::Exit()
+{
+ if(ui::Engine::Ref().GetWindow() == renderView)
+ {
+ ui::Engine::Ref().CloseWindow();
+ }
+ if(callback)
+ callback->ControllerExit();
+ HasExited = true;
}
RenderController::~RenderController() {