diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-27 13:27:40 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-01-27 13:27:40 (GMT) |
| commit | 2a7628dfd0037fde1f504b276b262ebc9328df60 (patch) | |
| tree | 2db9118d73490c738e3a77ac315fced408f34e05 /src/render/RenderModel.cpp | |
| parent | 1c971e4b4210359e400511ad61b8e4eff2f7a79a (diff) | |
| download | powder-2a7628dfd0037fde1f504b276b262ebc9328df60.zip powder-2a7628dfd0037fde1f504b276b262ebc9328df60.tar.gz | |
Render options
Diffstat (limited to 'src/render/RenderModel.cpp')
| -rw-r--r-- | src/render/RenderModel.cpp | 83 |
1 files changed, 81 insertions, 2 deletions
diff --git a/src/render/RenderModel.cpp b/src/render/RenderModel.cpp index ef0f656..65f4a89 100644 --- a/src/render/RenderModel.cpp +++ b/src/render/RenderModel.cpp @@ -16,22 +16,77 @@ void RenderModel::AddObserver(RenderView * observer) { observers.push_back(observer); observer->NotifyRendererChanged(this); + observer->NotifyRenderChanged(this); + observer->NotifyDisplayChanged(this); + observer->NotifyColourChanged(this); } void RenderModel::SetRenderMode(unsigned int renderMode) { - renderer->AddRenderMode(renderMode); + if(renderer) + renderer->AddRenderMode(renderMode); + notifyRenderChanged(); } void RenderModel::UnsetRenderMode(unsigned int renderMode) { - renderer->RemoveRenderMode(renderMode); + if(renderer) + renderer->RemoveRenderMode(renderMode); + notifyRenderChanged(); +} + +unsigned int RenderModel::GetRenderMode() +{ + if(renderer) + return renderer->render_mode; + else + return 0; +} + +void RenderModel::SetDisplayMode(unsigned int displayMode) +{ + if(renderer) + renderer->AddDisplayMode(displayMode); + notifyDisplayChanged(); +} + +void RenderModel::UnsetDisplayMode(unsigned int displayMode) +{ + if(renderer) + renderer->RemoveDisplayMode(displayMode); + notifyDisplayChanged(); +} + +unsigned int RenderModel::GetDisplayMode() +{ + if(renderer) + return renderer->display_mode; + else + return 0; +} + +void RenderModel::SetColourMode(unsigned int colourMode) +{ + if(renderer) + renderer->SetColourMode(colourMode); + notifyColourChanged(); +} + +unsigned int RenderModel::GetColourMode() +{ + if(renderer) + return renderer->colour_mode; + else + return 0; } void RenderModel::SetRenderer(Renderer * ren) { renderer = ren; notifyRendererChanged(); + notifyRenderChanged(); + notifyDisplayChanged(); + notifyColourChanged(); } Renderer * RenderModel::GetRenderer() @@ -47,6 +102,30 @@ void RenderModel::notifyRendererChanged() } } +void RenderModel::notifyRenderChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyRenderChanged(this); + } +} + +void RenderModel::notifyDisplayChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyDisplayChanged(this); + } +} + +void RenderModel::notifyColourChanged() +{ + for(int i = 0; i < observers.size(); i++) + { + observers[i]->NotifyColourChanged(this); + } +} + RenderModel::~RenderModel() { // TODO Auto-generated destructor stub } |
